Ändern Sie die Farbe der ellipse, wenn die Maus über
Ich bin Total neu in WPF. Es ist irgendwie verwirrend, warum der erste code-snippet funktioniert gut (wenn die Maus über die Farbe ändert sich), aber der zweite funktioniert nicht?
<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>
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Unterschied ist die Zeile
Lesen Sie mehr auf ControlTemplates.
http://msdn.microsoft.com/en-us/library/ms743230.aspx
<Ellipse ... Fill="Blue" ...>
überschreibt, was Sie setzen in der Art, das ist gut erklärt in der link von Kishore Kumar. Das Problem ist, - Abhängigkeitseigenschaft Festlegen von Prioritäten wo #3 Lokale Wert überschreibt #6 Style-Trigger. Das Beispiel verwendet nicht die Kontrolle Vorlagen.Diese rein, weil Sie den Wert der Eigenschaft vor. Den folgenden link habe eine hervorragende Erklärung.
WPF Trigger nicht gesetzt-Eigenschaft, wenn gesetzt, im Element