Comment faire Style.Les déclencheurs de déclencher un autre style à appliquer
Permet de dire que j'ai le ci-dessous:
<Style TargetType="{x:Type TextBox}">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="Gray" />
<Style.Triggers>
<Trigger Property="IsFocused" Value="true">
<Setter Property="BorderBrush" Value="Green" />
<Setter Property="BorderThickness" Value="2" />
</Trigger>
</Style.Triggers>
</Style>
Cela fonctionne bien et il n'y a rien de trop mal ici, mais il est assez simple de cas. Qu'advient-il si je veux avoir le IsFocused de l'état répertorié comme un exsplicit style comment faire référence au fait que le style comme étant le IsFocused style, c'est à dire
<Style x:key="ActiveStyle" TargetType="{x:Type TextBox}">
<Setter Property="BorderBrush" Value="Green" />
<Setter Property="BorderThickness" Value="2" />
</Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="Gray" />
<Style.Triggers>
<Trigger Property="IsFocused" Value="true">
-- Here I want to reference ActiveStyle and not copy the copy the setters
</Trigger>
</Style.Triggers>
</Style>
OriginalL'auteur vdhant | 2009-07-26
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que vous pouvez, cependant, vous pouvez réutiliser un style de cette façon :
Je ne vois pas une autre solution 🙁
OriginalL'auteur Nicolas Dorier
WPF fournit une propriété particulière pour cette FrameworkElement.FocusVisualStyle Donc, aller de l'avant et de l'assigner 🙂
Ou d'une autre manière, en utilisant des setters
OriginalL'auteur Jobi Joy
Il y a encore une troisième façon de le faire.
Créer deux modèles de contrôle pour votre contrôle:
Ensuite vous créer un style par défaut pour la zone de texte avec les éléments déclencheurs:
Tony
J'aurais juré que j'avais un exemple de cela dans mon application, mais je ne peux pas le trouver maintenant. Je ne me souviens pas que l'erreur qui se produit dans mon développement, ce qui ne veut pas dire grand chose, vraiment. Je vais devoir jouer avec, parfois, quand j'ai quelques minutes à perdre.
J'ai édité mon exemple de sorte qu'il utilise maintenant le code qui fonctionne. Il peut ne pas être tout à fait pertinents pour la question d'origine, maintenant, comme il utilise des modèles de contrôle et un style par défaut. Mais cela ne fonctionne pas.
OriginalL'auteur Tony Vitabile