Est-il possible d'avoir les éléments sélectionnés d'un ListBox
comme ListBoxItem
en cas SelectionChanged
(sur le ListBox
) dans WPF?ListBox.SelectedItems WPF comme ListBoxItem
En ce moment, quand j'appelle listBox.SelectedItems
j'obtiens la liste d'articles dans le format de ma source de données.
Par exemple, quand je crée mon ListBox
je lie à un CustomListBoxViewModel
comme source de données, donc quand j'ai appelé SelectedItems
je reçois une liste de CustomListBoxViewModel
objets.
Merci!
EDIT:
Le code qui a été donné dans la réponse choisie a parfaitement fonctionné pour mon cas d'utilisation. D'autre part, je comprends parfaitement qu'il s'agit d'une violation du modèle MVVM. Je vais utiliser le code que vous avez fourni dans le code d'une vue xaml.
La raison derrière ma question initiale était que j'ai besoin d'implémenter un ListBox
qui a quelques handicapés ListBoxItems
à l'intérieur. Ces articles devraient être non sélectionnables.
J'ai essayé d'utiliser une propriété attachée IsSelectable sur mon ListBoxItems
et cela n'a pas bien fonctionné. Cette propriété attachée a été grandement inspirée par ce post. Le problème était que lorsque je sélectionnais directement un élément désactivé, la propriété jointe fonctionnait parfaitement. L'élément n'a pas pu être sélectionné et il ne figurait pas dans la collection SelectedItems. Mais si je voulais sélectionner tous les éléments en appuyant sur CTRL + A, tous les ListBoxItems
ont été sélectionnés même les handicapés et ont été trouvés dans la collection SelectedItems.
Non, ce n'est pas comme ça que ça fonctionne. – Will
@Will j'ai mis à jour la question avec la raison pour laquelle je veux faire cela. C'est la "meilleure" façon de le faire à laquelle j'ai pensé ... Peut-être qu'il y a une meilleure façon de le faire? – EverydayLearner