Comment puis-je arrêter un TreeViewItem de fireing l'événement choisi pour lui-même, et son parent?
-
11-09-2019 - |
Question
J'ai TreeViewItem
que lorsque Selected
, calles une méthode. Cependant, je me rends compte que lorsque l'événement est appelé Selected
, l'événement Selected
pour la TreeViewItem
mère semble également être appelé.
Je voudrais vraiment que de ne pas arriver, mais je ne l'ai pas pu trouver aucune documentation indiquant mon pourquoi cela se produit en premier lieu.
Quelqu'un pourrait-il me dire pourquoi cela se passe pour commencer, et peut-être comment l'arrêter.
Je suis ouvert à différents objets au lieu d'un TreeViewItem, mais je dois maintenir l'indication visuelle de la sélection.
Merci!
PS:. Voici un extrait de ce que j'ai
<TreeViewItem IsExpanded="True" IsSelected="False" Selected="Fire_MaxCustomer_Selected_Event">
<TreeViewItem.Header>
<TextBlock Text="{Binding Path=DisplayName}" />
</TreeViewItem.Header>
<TreeViewItem.Items>
<TreeViewItem Header="Orders & Credits" Selected="Fire_Orders_Credits_Event" />
La solution
Je ne peux pas choisir quoi que ce soit en fonction de l'extrait que vous avez fourni. Vous savez que les événements de WPF sont acheminés? Sélectionné est un événement Bubbling qui op bulle de l'arbre visuel et peut être consommé plusieurs fois. Vous pouvez éviter cela en mettant e.Handled à true dans le gestionnaire d'événements.