0
首先,對不起我的英語不好。 我有一個看起來像一個EF實體:Linq查詢樹視圖HierarchicalDataTemplate
class Item
{
public Guid Id { get; set; }
public string Title{ get; set; }
public Guid? ParentId { get; set; }
public ICollection<Item> Items { get; set; }
}
現在我想上加載一個TreeView從實體的數據...我能得到最好的是後續的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;
加載數據這顯然顯示在樹視圖像這樣的數據:
ItemA ItemA1 ItemA2 ItemA1 --repeated node ItemA2 --repeated node
我該如何調整(或重寫)我的代碼,以便樹視圖以分層方式顯示數據,而不需要重複的節點?
哇......這是如此的明顯:/ ...起初我認爲where子句不會加載非null itens ...在SQL/Winform中思考太多,而在EF/WPF中我覺得很少。 .. 感謝您的幫助 :) – Leo 2010-08-30 12:57:19