Est-il possible d'utiliser un MultiTrigger
pour évaluer des propriétés sur plusieurs éléments? Cela ne réside pas dans un modèle, mais dans Usercontrol/Window.SourceName avec MultiTriggers
Exemple:
<CheckBox x:Name="checkBox1" />
<CheckBox x:Name="checkBox2" />
<CustomControl>
<CustomControl.ContentTemplate>
<DataTemplate>
<DataTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition
SourceName="checkBox1"
Property="IsChecked"
Value="False" />
<Condition
SourceName="checkBox2"
Property="IsChecked"
Value="True" />
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<Setter
Property="Visibility"
Value="Collapsed" />
</MultiTrigger.Setters>
</MultiTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</CustomControl.ContentTemplate>
Dans une Trigger
normale, nous pouvons utiliser le sourceName pour déclencher contre les propriétés ou l'autre de ces contrôles de cases à cocher, mais avec un MultiTrigger
-je obtenir des erreurs de quand il tente de trouver ces contrôles.
Note: La raison pour laquelle j'utilise un DataTemplate
par opposition à un Style
est mentionné here
Merci pour votre réponse, je comprends votre solution et cela fonctionne certainement dans ce scénario. La solution pour laquelle je tirais était celle qui ne nécessitait pas que ces contrôles résident dans le même modèle. Avec un seul déclencheur, je peux utiliser SourceName avec des contrôles qui ne résident pas dans un modèle. J'espérais un comportement similaire avec MultiTriggers. Je suppose que votre réponse est que ce n'est pas possible. –
Je ne pense pas que ce soit possible puisque la portée de nom pour DataTemplate Triggers est le DataTemplate. Vous pouvez être en mesure d'écrire certains MultiDataTriggers, mais cela limiterait le DataType que vous utilisez et exigerait que vous fournissiez ces propriétés. – micahtan