Changer la couleur de l'ellipse lorsque la souris est dessus
Je suis totalement nouveau dans WPF. C'est une sorte de confusion, pourquoi le premier extrait de code fonctionne très bien (quand la souris de plus, les changements de couleur), mais la deuxième ne fonctionne pas?
<Ellipse Height="50" Width="50" Opacity="0.5" Stroke="Black" >
<Ellipse.Style>
<Style TargetType="{x:Type Ellipse}">
<Setter Property="Fill" Value="Blue" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" Value="Green">
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
//
<Ellipse Height="50" Width="50" Fill="Blue" Opacity="0.5" Stroke="Black" >
<Ellipse.Style>
<Style TargetType="{x:Type Ellipse}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" Value="Green">
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
grâce.
Vous devez vous connecter pour publier un commentaire.
La différence est la ligne
Lire plus sur ControlTemplates.
http://msdn.microsoft.com/en-us/library/ms743230.aspx
<Ellipse ... Fill="Blue" ...>
remplace tout ce que vous définissez dans le style, qui est bien expliqué dans le lien par Kishore Kumar. La question est Propriété de Dépendance Paramètre de Priorité où #3 Valeur Locale remplace #6 Style Déclencheurs. L'exemple ne pas utiliser les Modèles de Contrôle.Ce uniquement en raison de la valeur de la Propriété de priorité. Le lien ci-dessous obtenu une excellente explication.
WPF Déclencheur de ne pas définir la propriété si elle est définie dans l'Élément