Après avoir cliqué sur les boutons WPF dans notre application, ils brillent en bleu, retour à la couleur d'origine, retour au bleu, etc. Cela semble être le comportement par défaut sur Windows Vista/7. Cela n'arrive pas sur XP. Aucun conseil?Glowing WPF Buttons
7
A
Répondre
8
Vous devez remplacer le modèle de bouton par défaut - http://mark-dot-net.blogspot.com/2007/07/creating-custom-wpf-button-template-in.html devrait vous aider à démarrer.
Plus précisément Section 3:
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="#FF4788c8" />
<Setter Property="Foreground" Value="#FF4788c8" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" >
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >
<GradientStop Color="#FFFFD190" Offset="0.35"/>
<GradientStop Color="Orange" Offset="0.95"/>
<GradientStop Color="#FFFFD190" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter TargetName="content" Property="RenderTransform" >
<Setter.Value>
<TranslateTransform Y="1.0" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsDefaulted" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="border" Property="Opacity" Value="0.7" />
<Setter Property="Foreground" Value="Gray" />
</Trigger>
</ControlTemplate.Triggers>
1
Vous devez remplacer le ControlTemplate
. Sinon, il utilise des déclencheurs pour définir les couleurs sur des événements comme passer la souris dessus. Si vous définissez simplement Background
, vous définissez uniquement l'arrière-plan par défaut lorsqu'il n'y a pas de Trigger
s en cours.
Merci beaucoup! C'est exactement ce dont j'avais besoin. – Jason
Heureux que ça a marché pour vous. – Nate
Vos déclencheurs seraient mieux adaptés dans un style qui est considérablement plus facile que d'utiliser un ControlTemplate – markmnl