À l'aide de DataTrigger avec plusieurs valeurs dans WPF
Je suis en utilisant le code XAML partie de ce qui est
<DataTrigger Binding="{Binding Path=Name}" Value="1">
<Setter Property="Header" TargetName="expanderHeader" Value="Course Text"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Name}" Value="2">
<Setter Property="Header" TargetName="expanderHeader" Value="Media Lecture"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Name}" Value="3">
<Setter Property="Header" TargetName="expanderHeader" Value="Assessment"/>
<DataTrigger Binding="{Binding Path=Name}" Value="4">
<Setter Property="Header" TargetName="expanderHeader" Value="Question"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Name}" Value="5">
<Setter Property="Header" TargetName="expanderHeader" Value="General"/>
</DataTrigger>
Maintenant je veux utiliser un dataTrigger qui peuvent avoir des valeurs de 3, 301, 302 ou 303. Comment puis-je faire cela.
J'ai essayé avec Multidatatrigger, mais il n'a pas travaillé. Le code que j'ai essayé avec Multidatatrigger était:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=Name}" Value="301"/>
<Condition Binding="{Binding Path=Name}" Value="301"/>
<Condition Binding="{Binding Path=Name}" Value="302"/>
<Condition Binding="{Binding Path=Name}" Value="303"/>
</MultiDataTrigger.Conditions>
<Setter Property="Header" TargetName="expanderHeader" Value="Assessment"/>
</MultiDataTrigger>
- Wat do u wanna atteindre wid données de déclenchement?
- Comment votre propriété
Name
peut avoir 5 valeurs différentes en même temps ??
Vous devez vous connecter pour publier un commentaire.
MultiDataTrigger s'applique lorsque tous des conditions sont remplies pas tout, c'est pourquoi votre MultiDataTrigger ne fonctionne pas.
Soit quatre déclencheurs, ou de mettre la condition séparée en une propriété booléenne comme
élever une notification de modification de propriété pour ShowAssessment lorsque les changements de la Valeur
e.g
puis déclencher sur ShowAssessment.
Probablement une meilleure solution est d'ajouter une propriété HeaderText avec une instruction switch qui renvoie le bon texte d'en-tête basé sur
Value
. Puis il suffit de lier l'en-tête du texte pour que. Aucun déclencheur nécessaire.MultidataTrigger agira lorsque toutes les conditions sont remplies . Donc
Vous aurez besoin d'un seul DataTrigger
Définir la Valeur de l'Enum avec une certaine logique dans votre code...
Exemple :
Je pars à la mise en œuvre de
INotifyPropertyChanged
. L'utiliser pour fournir des notifications de changement.