一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

C# WPF 實現(xiàn)Tab頁動態(tài)增減

 ontheroad96j47 2022-05-29 發(fā)布于內(nèi)蒙古

概述

Tab頁面是一個很常用的控件,針對頁面固定的場景,直接給Item進行數(shù)據(jù)綁定就行,如下所示:

        <dx:DXTabControl cal:Message.Attach="[Event Loaded]=[TabControl_Loaded($source,$eventArgs)]">            <dx:DXTabItem Header="{Binding Region[0]}" Visibility="{Binding TabPageDispaly[0]}">                <ContentControl  cal:View.Model="{Binding ParamPage}" />            </dx:DXTabItem>            <dx:DXTabItem Header="{Binding Region[1]}" Visibility="{Binding TabPageDispaly[1]}">                <ContentControl  cal:View.Model="{Binding ParamPage}"/>            </dx:DXTabItem>            <dx:DXTabItem Header="{Binding Region[2]}" Visibility="{Binding TabPageDispaly[2]}">                <ContentControl  cal:View.Model="{Binding ParamPage}"/>            </dx:DXTabItem>                 </dx:DXTabControl>

但是針對頁面需要動態(tài)增減的場景,這種方法就不再適用了,下面就針對這種情況進行講解.

數(shù)據(jù)定義

 [AddINotifyPropertyChangedInterface]    public class UserInfos    {        /// <summary>        /// Header        /// </summary>        public int Header { get; set; }
/// <summary> /// 姓名 /// </summary> public string UserName { get; set; }

public EventAggregatorViewModel EventAggregatorViewModel { get; set; } }

這里定義了一個標(biāo)題Header ,用戶名UserName ,以及另外個ViewModel

數(shù)據(jù)集合定義:

  public BindableCollection<UserInfos> UserInformationList { get; set; }

邏輯實現(xiàn)

后臺實現(xiàn)-數(shù)據(jù)添加:這里有幾個頁面就add幾組數(shù)據(jù)

  try            {                UserInformationList = new BindableCollection<UserInfos>();                UserInformationList.Add(new UserInfos()                {                    Header = 1,                    UserName = "張三",                    EventAggregatorViewModel = new EventAggregatorViewModel()            });                 UserInformationList.Add(new UserInfos()                {                    Header = 2,                    UserName = "李四",                    EventAggregatorViewModel = new EventAggregatorViewModel()            });                UserInformationList.Add(new UserInfos()                {                    Header = 3,                    UserName = "王五",                    EventAggregatorViewModel = new EventAggregatorViewModel()            });            }            catch (Exception ex)            {                MessageBox.Show($"{ex}");            }

item刪除:這里通過前臺綁定事件實現(xiàn)

public void RemoveItem(object dataContext)        {            var buttonContext = dataContext as SimpleButton;            var item = buttonContext.DataContext as UserInfos;            loginfo.Debug($"Enter [RemoveItem] Header = [{item.Header}]");            UserInformationList.Remove(item);            loginfo.Debug($"Leave [RemoveItem].");        }

前臺XAML:這里標(biāo)題和Item信息都通過模板實現(xiàn)

 <dx:DXTabControl  ItemsSource="{Binding UserInformationList}">            <dx:DXTabControl.ItemHeaderTemplate>                <DataTemplate>                    <dxlc:LayoutItem Label="{Binding UserName}">                        <dx:SimpleButton                            Margin="5,0,0,0"                            cal:Message.Attach="[Event Click] = [Action RemoveItem($source)]"                            Content="×" />                    </dxlc:LayoutItem>                </DataTemplate>            </dx:DXTabControl.ItemHeaderTemplate>            <dx:DXTabControl.ItemTemplate>                <DataTemplate>                    <ContentControl  cal:View.Model="{Binding EventAggregatorViewModel}" />                </DataTemplate>            </dx:DXTabControl.ItemTemplate>        </dx:DXTabControl>

效果演示

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    国产传媒高清视频在线| 国内胖女人做爰视频有没有| 亚洲欧美日韩色图七区| 国产精品激情对白一区二区| 日韩精品毛片视频免费看 | 久久久免费精品人妻一区二区三区| 有坂深雪中文字幕亚洲中文 | 99一级特黄色性生活片| 国产成人av在线免播放观看av | 亚洲一区二区三区国产| 91蜜臀精品一区二区三区| 欧美一区二区三区不卡高清视| 日韩一区二区三区高清在| 亚洲一区二区三在线播放| 国产亚洲欧美日韩国亚语| 俄罗斯胖女人性生活视频| 国产香蕉国产精品偷在线观看| av在线免费观看在线免费观看| 久久热这里只有精品视频| 免费大片黄在线观看国语| 免费大片黄在线观看国语| 天海翼精品久久中文字幕| 欧美日韩精品一区免费| 中文字幕佐山爱一区二区免费| 小黄片大全欧美一区二区| 大胆裸体写真一区二区| 亚洲一区二区三区熟女少妇| 国产在线一区二区免费| 久久国产人妻一区二区免费| 欧美一本在线免费观看| 日本高清视频在线观看不卡| 麻豆视传媒短视频免费观看| 老司机精品视频在线免费| 加勒比人妻精品一区二区| 欧美日韩一区二区综合| 国产一级二级三级观看| 熟女高潮一区二区三区| 亚洲欧洲一区二区综合精品| 亚洲中文字幕亲近伦片| 欧美六区视频在线观看| 国产欧美一区二区久久 |