Je le déclencheur de données suivantes sur les ListBoxItems dans mon ListBox multi-sélectionWPF DataTrigger - Réglage ListBoxItem IsSelected
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource DisableWorkItemConverter}">
<Binding ElementName="MainForm" Path="PickedWorkItemID"/>
<Binding Path="Id"/>
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="IsEnabled" Value="False"/>
<Setter Property="IsSelected" Value="False"/>
</DataTrigger>
IsEnabled se prépare bien, mais IsSelected ne soit pas défini. Comment puis-je résoudre ce problème?
J'ai essayé de retirer IsEnabled pour voir s'il était en conflit avec IsSelected, mais l'élément est resté sélectionné alors qu'il ne devrait pas l'être. Juste pour réitérer, je peux dire les liaisons et le convertisseur fonctionnent bien, parce que IsEnabled fonctionne correctement. Mais, pour une raison quelconque, IsSelected ne sera pas désactivé.
Éditer: Il me vient à l'esprit que je ne veux pas que cela fonctionne comme IsEnabled. Parce que lorsque ce déclencheur évalue false, l'élément est réactivé. Je ne voudrais pas qu'une ligne précédemment non sélectionnée soit sélectionnée simplement parce que ce déclencheur n'est plus vrai.
Des idées? Fondamentalement, je ne veux pas que les lignes désactivées soient sélectionnées.
Edit 2:
J'ai essayé d'ajouter un déclencheur normale en espérant qu'il serait chaîne de la gâchette de données et cela ne fonctionne pas non plus.
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource DisableWorkItemConverter}">
<Binding ElementName="MainForm" Path="PickedWorkItemID"/>
<Binding Path="Id"/>
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="IsSelected" Value="False"></Setter>
</Trigger>
</Style.Triggers>
En reproduisant votre problème, j'ai trouvé que si je place le ListBoxItem IsSelected = True dans un déclencheur, je peux aussi le définir sur False dans un déclencheur. Cependant, une fois que l'utilisateur a sélectionné l'élément, le déclencheur ne changera plus IsSelected. –
Hmmm, c'est intéressant. Cela ne présage rien de bon pour trouver un moyen de supprimer la sélection. Merci d'avoir regardé ça. – Vaccano