Tout d'abord, désolé pour mon mauvais anglais. J'ai une entité EF qui ressemble à:requête Linq à treeview HierarchicalDataTemplate
class Item
{
public Guid Id { get; set; }
public string Title{ get; set; }
public Guid? ParentId { get; set; }
public ICollection<Item> Items { get; set; }
}
Maintenant, je veux charger les données de cette entité sur une ... TreeView le mieux que je pouvais obtenir est le suivi XAML:
<TreeView Name="treeItems">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:Item}" ItemsSource="{Binding Items}">
<TextBlock Text="{Binding Path=Title}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
et charger les données avec
var itens = from it in ctx.Item select it;
treeItems.ItemsSource = itens;
cette affiche évidemment les données sur la TreeView comme ceci:
ItemA ItemA1 ItemA2 ItemA1 --repeated node ItemA2 --repeated node
Comment puis-je modifier (ou réécrire) mon code afin que l'arborescence affiche les données de manière hiérarchique, sans les nœuds répétés?
wow ... c'est tellement évident:/... au début je pensais que la clause where ne chargerait pas les non-null itens ... pensant trop dans SQL/Winform et peu dans EF/WPF je suppose. .. Merci de votre aide :) – Leo