首先,对不起我的英语不好。我有一个 EF 实体,如下所示:
class Item
{
public Guid Id { get; set; }
public string Title{ get; set; }
public Guid? ParentId { get; set; }
public ICollection<Item> Items { get; set; }
}
现在我想在树视图上加载来自该实体的数据......我能得到的最好的就是遵循 xaml:
<TreeView Name="treeItems">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:Item}" ItemsSource="{Binding Items}">
<TextBlock Text="{Binding Path=Title}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
并加载数据
var itens = from it in ctx.Item select it;
treeItems.ItemsSource = itens;
这显然会像这样在树视图上显示数据:
项目A 项目A1 项目A2 ItemA1 -- 重复节点 ItemA2 -- 重复节点
我如何调整(或重写)我的代码,以便树视图以分层方式显示数据,而没有重复的节点?