Ils semblent les mêmes. Y a-t-il une différence significative? Je pense que je manque quelque chose.
Si c'est la seule différence, pourquoi utiliserait-on le déclencheur régulier ?
Ils semblent les mêmes. Y a-t-il une différence significative? Je pense que je manque quelque chose.
Une autre différence est qu'un DataTrigger
peut être lié à un autre contrôle, une StaticResource, etc etc.
<Style.Triggers>
<DataTrigger
Binding="{Binding SomeProperty,
ElementName=someOtherControl"
Value="Derp">
<!-- etc -->
</code></pre>
<p>Vous ne pouvez examiner l'instance sur laquelle le style est appliqué lors de l'utilisation d'un <code>Trigger</code>. Par exemple, un <code>Trigger</code> appliqué à un Button peut inspecter la valeur de <code>IsPressed</code>, mais il ne pourrait pas inspecter la valeur (par exemple) de <code>Text</code> d'un <code>TextBox</code> sur le même formulaire si vous souhaitiez désactiver le <code>Button</code> si le <code>TextBox</code> était vide.</p></x-turndown>
La réponse courte (comme je m'apprête à dormir) - Un déclencheur fonctionne sur les propriétés de dépendance (généralement des propriétés GUI) tandis que les déclencheurs de données peuvent être déclenchés par n'importe quelle propriété .NET (généralement une propriété dans un ViewModel qui implémente INotifyPropertyChanged).
Pour résumer, si vous voulez déclencher une action à partir de la propriété de dépendance d'un élément d'interface utilisateur (par exemple, IsEnabled, IsChecked, etc. d'une case à cocher) qui se trouve dans votre Vue, alors vous devriez utiliser un déclencheur normal (aussi appelé PropertyTrigger). Si vous voulez déclencher une action à partir d'une propriété de votre Modèle de Vue, alors vous devriez utiliser un Déclencheur de Données (Data Trigger).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Est-ce que cela répond à votre question ? Quels sont les différents déclencheurs en WPF?