TreeView 绑定到 List
我有一个项目列表,其中列表中的每个项目都包含另一个项目列表。
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
,子项目显示 JobName
。如何将其绑定到TreeView
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您有一个分层数据结构,这意味着一个项目包含另一个项目集合。
TreeView
可以使用HierarchicalDataTemplate
。这样的模板定义了项目的外观,并指定了下一个级别的ItemsSource
。它还可以通过使用ItemTemplate
属性。这可以是HierarchicalDataTemplate
或DataTemplate
取决于提供分层或非分层数据的级别。如果未指定其他项目模板,则相同的数据模板将应用于所有级别的所有项目。第一级是
JobesGroup
项,第二级是Jobes
项。HierarchicalDataTemplate
来定义GroupName
的显示方式,并将Jobes
属性指定为项目的ItemsSource
下一个级别。JobeName
的简单DataTemplate
就足够了,因为下面没有更多级别了。它定义了JobeName
的显示方式。You have a hierarchical data structure, meaning an item contains another collection of items. A
TreeView
can display hierarchical data usingHierarchicalDataTemplate
s. Such a template defines the apprearance of an item and specifies theItemsSource
for the next level. It can also define a data template for the next level explicitly by using theItemTemplate
property. This can either be aHierarchicalDataTemplate
or aDataTemplate
depending on the level providing hierarchical or non-hierarchical data. If no other item template is specified, the same data template will be applied to all items across all levels.The first level are
JobesGroup
items and the second level areJobes
items.HierarchicalDataTemplate
that defines howGroupName
is shown and specifies theJobes
property as theItemsSource
of the next level.DataTemplate
forJobeName
is enough, since there are no more levels underneath. It defines howJobeName
is displayed.