[WPF] Detection de click défectueux

Signaler
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018
-
Messages postés
11
Date d'inscription
mercredi 29 mai 2002
Statut
Membre
Dernière intervention
23 mars 2010
-
Bonjour,

Dans le cadre d'une application, je suis amené a faire du databinding multi-niveaux sur un treeview.

Le problème est le suivant :
Lorsque que je clic sur les items une fois le treeview chargé, aucun événement de click n'est généré (OnMouseDown, Treeview_MouseDown ...).
Lorsque la liste est vide, ou que je ne clique pas sur un item, cela marche cependant.

Quelqu'un saurait comment récupérer les clicks sur les items de sorte a les traiter dans l'event handler attaché au treeview?

Voici le code que j'utilise :

<TreeView ClipToBounds="True" Grid.Row="2" x:Name="tvListe" ItemsSource="{Binding Path=ColCarte}" >
<TreeView.ItemTemplate>
<DataTemplate>
<TreeViewItem Header="{Binding Path=Nom}" ItemsSource="{Binding Path=ColCompetence}">
<TreeViewItem.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Path=Type}">
: <TextBlock Text="{Binding Path=Valeur}"/>
</TextBlock>
</Grid>
</DataTemplate>
</TreeViewItem.ItemTemplate>

</TreeViewItem>
</DataTemplate>
</TreeView.ItemTemplate>
</TreeView>

le premier niveau de treeviewItem affiche le nom d'un objet contenu dans une collection, le second niveau le type d'un second objet contenu lui même contenu dans une collection au sein du premier, le tout via des dependency properties.

Merci d'avance, en espérant avoir été clair.

Cordialement

KiTe.


-----------------------------------------


Ce qui nous tue pas nous rend plus fort,
Mais ce qui nous tue nous rend plus mort.

1 réponse

Messages postés
11
Date d'inscription
mercredi 29 mai 2002
Statut
Membre
Dernière intervention
23 mars 2010

Bonsoir,

Ce bout de code devrait faire ton bonheur ( il faut le placer dans le style de ton TreeView) :
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="PreviewMouseDown" Handler="TreeViewItem_PreviewMouseDown" />
</Style>




Jmix 90
http://blog.lexique-du-net.com