J’ai le xaml suivant:
Ce qui se passe, c’est que lorsque je passe la souris sur le bouton, l’avant-plan passe au jaune puis, lorsque j’appuie sur le bouton, le premier plan passe au vert.
Maintenant, si j’inverse l’ordre de mes déclencheurs dans le XAML, le premier plan devient jaune lorsque je passe la souris dessus, mais lorsque j’appuie sur le bouton, le premier plan ne devient PAS vert.
Quelle est l’explication pour ça? Est-ce qu’un déclencheur a priorité sur l’autre?
WPF traite vos déclencheurs dans l’ordre déclaré. Dans le deuxième exemple, le premier plan est si rapidement changé en vert. Mais le déclencheur IsMouseOver s’exécute et redéfinit la couleur en jaune.
IsMouseOver n’a aucune relation avec IsPressed en termes de priorité. L’important est l’ordre de déclaration dans XAML des déclencheurs.
En bref: les déclencheurs sont traités dans l’ordre.
Les déclencheurs ultérieurs peuvent remplacer les déclencheurs antérieurs.