TreeView / HierarchicalDataTemplate / TreeViewItem : comment faire ?
Bonjour,
A chaque fois que j'ai voulu créer un TreeView à partir d'une ObservableCollection d'objets perso, je me suis créé un HierarchicalDataTemplate qui faisait en gros ceci :
Code:
1 2 3 4
|
<HierarchicalDataTemplate x:Key="MyTemplate"
DataType="{x:Type local:MyDataType}">
<TextBlock Text={Binding Path=MyProperty} /> |
Mon problème est que j'aimerai avoir des TreeViewItem classiques (sans remplacer leur template par un TextBlock) car si je me crée un arbre statique de la sorte :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<TreeView VerticalAlignment="Stretch"
Height="200">
<TreeView.Items>
<TreeViewItem Header="111">
<TreeViewItem Header="111111"
Foreground="Blue"/>
<TreeViewItem Header="222222" />
<TreeViewItem Header="333333" />
</TreeViewItem>
<TreeViewItem Header="222">
<TreeViewItem Header="111111"
IsEnabled="False" />
<TreeViewItem Header="222222" />
<TreeViewItem Header="333333"
IsEnabled="False" />
</TreeViewItem>
<TreeViewItem Header="333" />
<TreeViewItem Header="444" />
</TreeView.Items>
</TreeView> |
je peux facilement désactiver un noeud ce qui va le griser et renvoyer sur son noeud parent quand on clique dessus, changer la couleur du Header, etc.
C'est exactement ce que j'aimerai avoir comme comportement, et je n'arrive pas à le reproduire avec un TextBlock.
Quelqu'un saurait comment faire ?
Merci d'avance !