J'ai un ListBox pour quelques articles, et je dois pouvoir les cliquer. Le problème est, l'événement SelectionChanged
ne se déclenche pas lorsque je clique sur le texte de l'élément, seulement si je clique sur la partie vide. Je suis assez nouveau à WPF, et je ne comprends pas pourquoi cela se passe.La sélection de ListBox WPF ne fonctionne pas
XAML:
<ListBox Name="lBoxVouchers" BorderThickness="0" FontSize="15" SelectionChanged="lBoxVouchers_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<ListBoxItem Content="{Binding Name}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Handler:
private void lBoxVouchers_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0)
MessageBox.Show("You just selected " + e.AddedItems[0]);
}
Je liant la liste des objets dans le code via la propriété lBoxVouchers.ItemsSource
, et ils apparaissent. Chaque objet a une propriété Name
, bien sûr.
J'ai essayé de définir IsEnabled sur ListBox et les éléments, à la fois dans le code et XAML, mais cela n'aide pas.
Les commentaires sur les meilleures façons de le faire dans WPF sont également les bienvenus.
Il a déjà dit qu'il a réussi à faire la liaison de données et les éléments apparaissent. Vous n'avez pas répondu à la question juste montré une façon différente de réaliser le même objectif. –
Ce qui est bien parce que j'ai dit que j'apprécierais tous les commentaires utiles sur mon code. – Edgar
L'utilisation de la propriété DisplayMemberPath l'a corrigée. Je n'ai toujours aucune idée pourquoi ça n'a pas marché dans l'autre sens. – Edgar