InvokeCommandAction et ListBox
Bonjour à tous,
Utilisant le pattern MVVM, j'ai opté pour l'usage de InvokeCommandAction (dans la dll System.Windows.Interactivity) dans le contôle Listbox afin de gérer l'évènement SelectionChanged dans mon ViewModel.
Pour être plus clair voici le code :
Code:
1 2 3 4 5 6 7 8
|
<ListBox x:Name="maListBox" ItemsSource="{Binding MaListe, Mode=OneWay}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding SelectionItemCommand}" CommandParameter="{Binding SelectedItem, ElementName=maListBox}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ListBox> |
En soit, le code fonctionne parfaitement. Seulement voilà, il y a un petit problème au niveau de la View : L'élément sélectionné ne se met plus en surbrillance (mais pourtant l'évènement se déclenche très bien, on voit bien qu'il y a un changement de SelectedItem. J'avais d'ailleurs mis un textblock qui affiche le contenu sélectionné et ça fonctionne bien !) ...
Savez-vous s'il y a une erreur dans mon code ?
Il y a-t-il une sorte de refresh à effectuer ?
Il y a-t-il peut être un meilleur procédé ?
Je vous remercie !