A
HierarchicalDataTemplate是一种表达方式,“这就是您呈现这种类型的对象的方式,这是可以探查以找到该对象下的子节点的属性”
因此,您需要一个返回该节点“子级”的属性。例如(如果您不能同时使“组”和“条目”都源自同一个节点类型)
public class Group{ .... public IList<object> Items { get { IList<object> childNodes = new List<object>(); foreach (var group in this.SubGroups) childNodes.Add(group); foreach (var entry in this.Entries) childNodes.Add(entry); return childNodes; } }
接下来
HierarchicalDataTemplate,由于条目没有子项,因此不需要条目。因此,需要更改XAML以使用新的Items属性和
DataTemplatefor条目:
<TreeView Name="GroupView" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}"> <TreeView.Resources> <HierarchicalDataTemplate DataType="{x:Type local:Group}" ItemsSource="{Binding Items}"> <TextBlock Text="{Binding Path=Name}" /> </HierarchicalDataTemplate> <DataTemplate DataType="{x:Type local:Entry}" > <TextBlock Text="{Binding Path=Name}" /> </DataTemplate> </TreeView.Resources></TreeView>
这就是它的样子。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)