首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TreeView与List<Itemes>的结合

问TreeView与List<Itemes>的结合
EN

Stack Overflow用户
提问于 2022-03-02 23:46:42
回答 1查看 65关注 0票数 -1

我有一个项目列表,其中列表中的每个项目都包含另一个项目列表。

代码语言:javascript
复制
public List<JobesGroup> JobeGroups { get; set; } = new List<JobesGroup>() 
{
   new JobesGroup()
   {
       ID=1,
       GroupName="test1",
       Jobes=new List<Jobe>()
       {
           new Jobe()
           {
               ID=1,
               JobeName="sss"
           },
           new Jobe()
           {
               ID=2,
               JobeName="aaa"
           }
       }
   },
   new JobesGroup()
   {
       ID=2,
       GroupName="test2",
       Jobes=new List<Jobe>()
       {
           new Jobe()
           {
               ID=3,
               JobeName="ddd"
           },
           new Jobe()
           {
               ID=4,
               JobeName="fff"
           }
       }
   }
};

我希望TreeView主项显示GroupName,而subitemes显示JobName。如何将其绑定到TreeView

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-03 07:51:00

您有一个分层数据结构,这意味着一个项包含另一个项集合。TreeView可以使用HierarchicalDataTemplate显示分层数据。这样的模板定义了项的授权,并指定了下一级别的ItemsSource。它还可以使用ItemTemplate属性显式地为下一级别定义数据模板。这可以是一个HierarchicalDataTemplate,也可以是一个DataTemplate,这取决于提供分层或非分层数据的级别。如果未指定其他项模板,则将对所有级别的所有项应用相同的数据模板。

第一级是JobesGroup项,第二级是Jobes项。

  • First level:需要一个HierarchicalDataTemplate,该HierarchicalDataTemplate定义如何显示GroupName,并将Jobes属性指定为下一个DataTemplate级别的ItemsSource:简单的JobeName DataTemplate就足够了,因为下面没有更多的级别。它定义了JobeName的显示方式。

代码语言:javascript
复制
<TreeView ItemsSource="{Binding JobeGroups}">
   <TreeView.ItemTemplate>
      <HierarchicalDataTemplate DataType="{x:Type local:JobesGroup}"
                                ItemsSource="{Binding Jobes}">
         <TextBlock Text="{Binding GroupName}"/>
         <HierarchicalDataTemplate.ItemTemplate>
            <DataTemplate DataType="{x:Type local:Jobe}">
               <TextBlock Text="{Binding JobeName}"/>
            </DataTemplate>
         </HierarchicalDataTemplate.ItemTemplate>
      </HierarchicalDataTemplate>
   </TreeView.ItemTemplate>
</TreeView>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71330518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档