亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

解析WPF綁定層次結構數據的應用詳解

2024-07-10 13:16:24
字體:
來源:轉載
供稿:網友

在實際項目應用中會存在多種類型的層次結構數據,WPF提供了良好的數據綁定機制。其中運用最頻繁的就是ListBox和TreeView控件。

一、ListBox和TreeView控件的區別
1.ListBox顯示單層次數據集合,TreeView可以顯示單層次和多層次數據集合;
2.通過ListBox在UI層面可以展示良好的數據顯示效果,對數據集合可以進行排序、分組、過濾操作;
3.TreeView顯示為一個多層次的數據集合為樹形結構,通過Templete和Style屬性同樣可以為其定義良好的數據顯示效果;

二、ListBox控件示例
1.ListBox綁定數據進行分組:
使用ListBox.GridStyle標簽,定義HeaderTemplate屬性用來定義組頭的外觀:

復制代碼 代碼如下:


代碼
 <ListBox ItemSource="{Binding Path=Data}">
  <ListBox.GridStyle>
      <GroupStyle.HeaderTemplate>
           <DataTemplate>
                 <Stackpanel>
                          <Image Source="xxx.jpg"/>
                           <Label Content="C:"/>
                  <Stackpanel>
           </DataTemplate>
      </GroupStyle.HeaderTemplate>
  </ListBox.GridStyle>
 ......
  </ListBox>



這樣就可以創建出類似WINDOWS 文件管理器的效果:
  

解析WPF綁定層次結構數據的應用詳解



2.Listbox一些使用經驗:
/1 如果要實現類似WINDOWS的漂亮的界面效果并進行分組,需要自定義GroupStyle的樣式,否則WPF會使用內建的GroupStyle,也可以引用GroupStyle.Default靜態屬性。
/2 ListBox只能定義一層數據結構,在ListBox中的Item里再次使用ListBox,后ListBox里的ItemSource不會繼承上一層ListBox的Item源中的數據集合,如有如下數據集合:

復制代碼 代碼如下:


public List<Groups> groups = new List<Groups>();groups.Add(new Group);........


復制代碼 代碼如下:


public class Group {
        public int Id { get; set; }
        public string Name { get; set; }
        private List<Box> boxes = new List<Box>();
        public List<Box> Boxes {
            get { return boxes; }
        }
    }


Listbox的ItemSource Binding List<Groups>的數據集合,其Item中的ListBox Binding List<Box>,則Item中的ListBox是無法獲取List<Box>這個數據集合的;

三、TreeView控件示例
1.有如上數據集合,使用TreeView綁定多層數據集合:

復制代碼 代碼如下:


代碼
 <TreeView x:Name="maintree" FocusVisualStyle="{x:Null}" ItemsSource="{Binding Groups}">
             <TreeView.ItemContainerStyle>
                 <Style TargetType="{x:Type TreeViewItem}">
                     <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
                     <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
                     <Setter Property="FontWeight" Value="Normal" />
                     <Style.Triggers>
                         <Trigger Property="IsSelected" Value="True">
                             <Setter Property="FontWeight" Value="Bold"/>
                         </Trigger>
                     </Style.Triggers>
                 </Style>
             </TreeView.ItemContainerStyle>
             <TreeView.Resources>
                 <HierarchicalDataTemplate DataType="{x:Type m:GroupVO}" ItemsSource="{Binding Boxes}">
                     <StackPanel Orientation="Horizontal">
                         <Label Content="{Binding Path=FriendlyName}"></Label>
                         <CheckBox VerticalAlignment="Center" IsChecked="{Binding Path=IsSelected}"></CheckBox>
                     </StackPanel>                
                 </HierarchicalDataTemplate>              

                 <DataTemplate DataType="{x:Type m:BoxVO}">
                     <Grid Margin="0,5,5,10" MouseDown="maintree_MouseDown" Loaded="Grid_Loaded">
                         <Grid.RowDefinitions>
                             <RowDefinition></RowDefinition>
                         </Grid.RowDefinitions>
                         <Grid.ColumnDefinitions>
                             <ColumnDefinition></ColumnDefinition>
                             <ColumnDefinition></ColumnDefinition>
                         </Grid.ColumnDefinitions>
                         <Image Source="/Resources/Images/shgbit.png" VerticalAlignment="Top" Grid.Column="0" Grid.Row="0"></Image>
                             <Label Grid.RowSpan="2" Grid.Row="0" Grid.Column="0" Margin="5,5,0,0" Content="{Binding Path=FriendlyName}"></Label>
                 </DataTemplate>
             </TreeView.Resources>
         </TreeView>


HierarchicalDataTemplate屬性為層級數據模板,它繼承數據集合的層級結構,要表示樹的層級依賴關系必須使用HierarchicalDataTemplate。
屬性綁定數據使用TwoWay是為雙向屬性,當源數據或目標被改變是更新另一方的數據。在層次樹表示中的典型應用就是:用CheckBox進行子節點的選中和未選中的狀態傳遞。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久国产| 欧美电影第一页| 日韩视频免费中文字幕| 欧美性猛交xxxx富婆| 国产精品黄色av| 日韩免费av一区二区| 欧美激情一区二区三级高清视频| 51精品国产黑色丝袜高跟鞋| 色吧影院999| 久久久精品电影| 国产精品美乳在线观看| 欧美天堂在线观看| 777国产偷窥盗摄精品视频| 国模私拍一区二区三区| 久久久人成影片一区二区三区观看| 亚洲国产精品99久久| 亚洲最大的成人网| 欧美日韩一区二区免费视频| 国产精品96久久久久久| 亚洲欧美一区二区精品久久久| 国产成人激情小视频| 亚洲国产日韩欧美在线99| 国产精品一区二区三区在线播放| 久久欧美在线电影| 国产精品激情av在线播放| 亚洲男人第一网站| 亚洲国产精品久久久| 91探花福利精品国产自产在线| 国产丝袜视频一区| 川上优av一区二区线观看| 国产精品黄色av| 成人看片人aa| 亚洲女人初尝黑人巨大| 久久99精品久久久久久青青91| 精品国产精品三级精品av网址| 国产精品国模在线| 国产成人一区二区在线| 日韩视频一区在线| 欧美大人香蕉在线| 久久久97精品| 日韩欧美成人精品| 久久精品中文字幕一区| 亚洲欧洲日产国码av系列天堂| 一本大道久久加勒比香蕉| 国产亚洲一区二区精品| 91精品国产91久久久久久久久| 亚洲精品久久久久久下一站| 欧美日韩国产成人在线| 国产精品久久电影观看| 欧美劲爆第一页| 欧美在线视频观看| 久久久精品国产亚洲| 亚洲精品国产精品乱码不99按摩| 色综合久久88色综合天天看泰| 亚洲欧美日韩中文视频| 在线精品91av| 成人午夜黄色影院| 国产精品免费一区豆花| 亚洲精品美女在线观看播放| 久久国产视频网站| 欧美日韩免费观看中文| 欧美日韩精品在线| 久久久久久香蕉网| 中文字幕亚洲情99在线| 中文字幕国产精品久久| 国产欧美精品va在线观看| 成人深夜直播免费观看| 日韩在线播放一区| 日韩女优在线播放| 美女扒开尿口让男人操亚洲视频网站| 97久久久免费福利网址| 国产精品入口日韩视频大尺度| 欧美性高跟鞋xxxxhd| 亚洲天堂免费视频| 欧美中文字幕在线观看| 久久久久国产视频| 欧美日韩国产中文精品字幕自在自线| 久国内精品在线| 91极品视频在线| 久热在线中文字幕色999舞| 久久久国产精彩视频美女艺术照福利| 中文.日本.精品| 日韩av网站导航| 色www亚洲国产张柏芝| 91香蕉亚洲精品| 亚洲日韩中文字幕| 午夜精品久久久久久99热| 国产精品久久在线观看| 久久视频这里只有精品| 国内精品伊人久久| 日本在线观看天堂男亚洲| 国产精品视频免费在线观看| 97免费视频在线| 日韩欧美福利视频| 精品欧美激情精品一区| 亚洲色图国产精品| 精品成人国产在线观看男人呻吟| 成人激情视频免费在线| 亚洲一区二区三区xxx视频| 久久天天躁夜夜躁狠狠躁2022| 96精品久久久久中文字幕| 久久免费国产视频| 日韩电影第一页| 亚洲一区二区久久久久久| 精品国产一区二区三区四区在线观看| 亚洲高清一二三区| 午夜精品久久久久久久99热| 精品亚洲国产成av人片传媒| 在线日韩欧美视频| 日韩成人激情视频| 亚洲天堂成人在线视频| 国产精品国产三级国产专播精品人| 欧美在线精品免播放器视频| 中文字幕亚洲色图| 日韩欧美在线字幕| 91精品在线观看视频| 国产精品主播视频| 日韩国产激情在线| 欧美一级视频在线观看| 国产在线播放不卡| 中文字幕亚洲一区二区三区五十路| 色综合色综合久久综合频道88| 欧美成人免费在线视频| 懂色av一区二区三区| 国产69精品久久久久9999| 久久精品国产清自在天天线| 777午夜精品福利在线观看| 亚洲成年人在线播放| 日韩视频免费观看| 亚洲精品456在线播放狼人| 日韩精品在线私人| 黑人巨大精品欧美一区免费视频| 91亚洲精华国产精华| 久久久久久久久久久国产| 色婷婷综合久久久久中文字幕1| 欧美理论片在线观看| 成人福利在线视频| 国产精品扒开腿做| 久久av在线播放| 国产精品成人一区二区三区吃奶| 久久视频国产精品免费视频在线| 国产美女主播一区| 91理论片午午论夜理片久久| 久久99亚洲精品| 日韩精品免费综合视频在线播放| www.欧美免费| 亚洲女人天堂色在线7777| 亚洲**2019国产| 欧美午夜视频一区二区| 久久久久久亚洲精品| 57pao成人国产永久免费| 国产精品中文久久久久久久| 欧美精品电影免费在线观看| 国产成人精品国内自产拍免费看| 欧美成人在线影院| 久久久久国产精品免费网站| 欧美日韩国产成人高清视频| 亚洲电影av在线| 欧美激情第一页xxx| 成人精品福利视频| 91美女福利视频高清| 欧美激情一级二级| 成人激情视频小说免费下载| 91久久精品美女高潮|