C# 树视图绑定
我有一个数据库表,其中Id、Group和Items作为列。如何使用绑定对xaml模板进行编码,使列表显示为 第一组C# 树视图绑定,c#,silverlight,C#,Silverlight,我有一个数据库表,其中Id、Group和Items作为列。如何使用绑定对xaml模板进行编码,使列表显示为 第一组 项目1 项目2 第2组 项目3 既然你需要一个层次结构,我认为最好的方法就是建立一个层次结构。您必须事先将数据分组到所需的层次结构中,然后才能将treeview数据绑定到数据源中的顶级项,在您的情况下是“组”项 对于同样具有子项的项,您需要向树视图添加一个HierarchycalDataTemplate——这里很重要的一点是,您从中提取项的任何对象都必须支持包含子项集合的属性
- 项目1
- 项目2
- 项目3
- 既然你需要一个层次结构,我认为最好的方法就是建立一个层次结构。您必须事先将数据分组到所需的层次结构中,然后才能将treeview数据绑定到数据源中的顶级项,在您的情况下是“组”项
对于同样具有子项的项,您需要向树视图添加一个
HierarchycalDataTemplate
——这里很重要的一点是,您从中提取项的任何对象都必须支持包含子项集合的属性,这是在ItemsSource
属性中配置的
对于没有子项的项(示例中的“项”项),您可以添加常规的DataTemplate
总之,treeview XAML的外观如下:
<TreeView Name="myTreeView" ItemsSource="{Binding}" >
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type GroupType}" ItemsSource="{Binding Items}">
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type ItemType}">
</DataTemplate>
</TreeView.Resources>
</TreeView>
foreach(GroupType myGroup in myGroupCollection)
myTreeView.Items.Add(myGroup);