Treeview hierarchique complexe
Bonjour à tous,
Je m'essaie à produire une Treeview à plusieurs niveaux qui aura cette forme
Code:
1 2 3 4 5 6 7 8 9 10 11
|
- Niveau 1
- Item 1
- Parents
- Item 2
- Item 3
- Enfants
- Item 4
+ Item 2
+ Niveau 2
+ Niveau 3 |
Donc j'ai une Treeview qui prend en source une collection "Niveaux", qui est de la sorte
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public class Niveau
{
public int Id {get; set;}
public string Name {get; set;}
public List<Item> Items {get; set;}
}
public class Item
{
public int Id {get; set;}
public string Name {get; set;}
public List<Item> Parents {get; set;}
public List<Item> Enfants {get; set;}
} |
Niveaux[0].Items[0].Parents (ou Enfants).
Donc j'ai écris un ItemTemplate avec plusieurs niveau de HierarchicalDataTemplate, dont voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<HierarchicalDataTemplate x:Key="ParentTemplate">
<TreeViewItem >
<TextBlock Text="{Binding Path=Name}" />
</TreeViewItem>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="ItemsTemplate" ItemTemplate="{StaticResource ParentTemplate}" ItemsSource="{Binding Path=Parents}" >
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="NameTemplate" ItemsSource="{Binding Path=Items}" ItemTemplate="{StaticResource ItemsTemplate}">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
</DockPanel.Resources>
<TreeView ItemsSource="{Binding Niveaux}" ItemTemplate="{StaticResource NameTemplate}" />
</DockPanel> |
Ce que je veux c'est insérer, un bloc Parent et un bloc Enfant qui contiendront la collection Parents et la collection Enfants
Je ne sais pas si j'ai pu être claire :aie:
D'avance merci :)