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 xml : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
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>
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 !
Partager