J'essaie de créer un style pour une liste qui définira l'élément sélectionné à un élément lorsque l'élément a la souris dessus.WPF listbox sélectionnez l'objet sur la souris sur
Des indices?
J'essaie de créer un style pour une liste qui définira l'élément sélectionné à un élément lorsque l'élément a la souris dessus.WPF listbox sélectionnez l'objet sur la souris sur
Des indices?
Vous pouvez le faire en utilisant un style dans la zone de liste lui-même qui touche tous ses éléments:
<ListBox.Resources>
<Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver,RelativeSource={RelativeSource Self}}"
Value="True">
<Setter Property="IsSelected" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.Resources>
Ça va définir la propriété IsSelected sur l'élément à true lorsque la propriété IsMouseOver est vrai. Pourvu que votre ListBox ne soit pas multi-select, il fonctionne comme vous le souhaitez.
Fonctionne bien. Bizarrement, quand I Data se lie à SelectedItem et que l'objet auquel il se lie a une valeur au préalable, la souris ne sélectionne pas cet élément (si vous partez et revenez). Des idées? –
C'est assez étrange. Par intérêt, essayez d'ajouter un setter pour définir IsSelected sur false dans le style (en dehors du trigger). –
Non, ne le répare pas. Je peux contourner le problème (en n'en ayant pas sélectionné au démarrage), mais c'est quelque chose qui ne me dérangerait pas. –
Bonne question. Il serait bon de trouver si ce type de redirection d'événement est possible en utilisant des modèles, pas de code-behind. – Russell