Bonjour à tous,
J'ai un léger soucis avec mon treeview. Actuellement il est composé de plusieurs TreeViewItem définis dans le xaml et ces derniers sont chacun bindé à une liste d'objet différent.
En gros mes TreeViewItems avec leurs objets
-Peugeot
---206
---306
-Renault
---Clio
---Twingo
Je définis les Header de mes TreeViewItems de la sorte
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <TreeViewItem.Header> <StackPanel> <TextBlock/> <Button/> <StackPanel> <TreeViewItem.Header>
Les objets (= sous-items) sont implémentés via des HierarchicalDataTemplate tel que
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <HierarchicalDataTemplate> <StackPanel> <TextBlock/> <Button/> <StackPanel> <HierarchicalDataTemplate>
J'essaie d'obtenir deux comportements.
- celui pour le Header : si ma souris est sur le TextBlock, le bouton apparaît sinon il est masqué
- celui pour le sous_item : si ma souris est sur le TextBlock, le bouton apparaît sinon il est masqué
Redéfinir le style de mes boutons me paraissait être une des solutions les plus simples mais je n'arrive pas à trouver à quoi binder mes DataTriggers pour obtenir le bon résultat.
Si j'utilise
{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type TreeViewItem}},Path= IsMouseOver} dans mon HierarchicalDataTemplate, ça fonctionne correctement pour les sous-items (206,306, Clio et Twingo). Par contre c'est pour le Header que ça coince. Si je mets la même chose, en posant la souris sur 206 par exemple, le bouton dans le Header apparaît alors que je voudrais qu'il le soit uniquement si elle est sur le Header en soit...
J'espère avoir été clair dans mon explication
Quelqu'un aurait-il une idée ?
Par avance, merci !
Partager