<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      WPF/C#:如何顯示具有層級關系的數據

      前言

      比方說我們有以下兩個類:

       public class Class
       {
           public string? Name { get; set; }
           public List<Student>? Students { get; set; }
       }
      
       public class Student
       {
           public string? Name { get; set; }
       }
      

      一個表示班級,一個表示學生,一個班級包含多個學生。在WPF中我們該如何顯示這種具有層級關系的數據呢?

      今天給大家介紹的是用TreeViewHierarchicalDataTemplate進行顯示。

      實現效果如下所示:

      效果

      如果你對此感興趣,可以接著往下閱讀。

      創建數據

       private void Button_Click(object sender, RoutedEventArgs e)
       {
           Student student1 = new Student() { Name = "小明" };
           Student student2 = new Student() { Name = "小紅" };
           Student student3 = new Student() { Name = "小黃" };
           Student student4 = new Student() { Name = "小綠" };
           Student student5 = new Student() { Name = "小剛" };
      
           List<Student> students1 = new List<Student>()
           {
               student1,
               student2,
               student3
           };
      
           List<Student> students2 = new List<Student>()
           {              
               student4,
               student5
           };
      
           Class class1 = new Class()
           {
               Name = "班級1",
               Students = students1
           };
      
           Class class2 = new Class()
           {
               Name = "班級2",
               Students = students2
           };
      
           List<Class> classes = new List<Class>()
           {
               class1,
               class2
           };
      
           DataContext = classes;
      
       }
      

      數據模板的使用

      xaml:

        <TreeView>
            <TreeViewItem ItemsSource="{Binding}" Header="全部班級"/>
        </TreeView>
      

      HierarchicalDataTemplate介紹

      HierarchicalDataTemplateWPF(Windows Presentation Foundation)中的一種數據模板,用于在樹狀結構或層次結構中顯示數據。它允許您定義如何呈現包含子項的數據對象。

      通過HierarchicalDataTemplate,您可以指定一個模板,用于呈現數據對象本身,以及一個模板,用于呈現其子項。這使得在TreeView等控件中輕松顯示復雜的數據結構,如文件夾和文件、組織架構等。

      通常,您會在ItemsSource屬性中指定數據源,然后使用HierarchicalDataTemplate定義每個級別的數據對象應該如何呈現。

      通過使用HierarchicalDataTemplate,您可以更靈活地控制數據的呈現方式,使您能夠創建具有深層次結構的動態UI。

      HierarchicalDataTemplate的使用

      xaml:

      <Window.Resources>
          <HierarchicalDataTemplate DataType = "{x:Type local2:Class}"
             ItemsSource = "{Binding Path=Students}">
              <TextBlock Text="{Binding Path=Name}"/>
          </HierarchicalDataTemplate>
      
          <DataTemplate DataType="{x:Type local2:Student}">
              <TextBlock Text="{Binding Path=Name}"/>
          </DataTemplate>
      </Window.Resources>
      

      我們可以發現對于Class類,使用了一個HierarchicalDataTemplateItemsSource綁定的是Class類的Students屬性。

      Student類并沒有再含有層次數據了所有直接使用DataTemplate就好了。

      查看實現效果

      最后實現的效果如下所示:

      效果

      總結

      在日常開發過程中,我們可能也會有顯示層級數據的需求,本文通過一個簡單的Demo,介紹了在WPF中通過TreeView控件HierarchicalDataTemplate層級數據模板進行層級數據的顯示。希望對正在學習WPF或者對WPF感興趣的同學有所幫助。

      posted @ 2024-04-22 15:24  mingupupup  閱讀(1434)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲综合小综合中文字幕| 亚洲一区二区三区18禁| 国产精品久久久久7777| 九九热免费在线视频观看| 亚洲国产成熟视频在线多多 | 加勒比亚洲视频在线播放| 岐山县| 国产午精品午夜福利757视频播放| 露脸国产精品自产拍在线观看| 中文字幕av无码免费一区| 免费A级毛片无码A∨蜜芽试看| 国产精品女视频一区二区| 久热这里只精品99国产6-99RE视…| 亚洲国产欧美一区二区好看电影| 日韩av高清在线看片| 精品亚洲欧美无人区乱码| 精品国偷自产在线视频99| 亚洲AV永久中文无码精品综合| 波多野结衣久久一区二区| 97精品久久久大香线焦| 无码国产精品一区二区av| 无码人妻丝袜在线视频| 无码人妻av免费一区二区三区| 午夜免费视频国产在线| 超碰伊人久久大香线蕉综合| 国产精品爽黄69天堂A| 99久久久国产精品免费无卡顿| 男人的天堂av一二三区| 人妻综合专区第一页| 18分钟处破好疼哭视频在线观看| 成熟女人特级毛片www免费| 日韩东京热一区二区三区| 亚洲69视频| 在线a人片免费观看| 国产一区二区三区18禁| 97久久精品亚洲中文字幕无码| 中文字幕国产精品二区| 漂亮人妻被强中文字幕久久| 午夜高清福利在线观看| 精品国产av一区二区三区 | 男女xx00xx的视频免费观看|