私はWPFで全く新しいです。最初のコードスニペットがうまく動作する理由(マウスを重ねると色が変わるとき)がうまくいくが、2つ目のコードスニペットがうまくいかない理由は混乱している。マウスオーバー時に楕円の色を変更します
<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>
感謝。
誰がこれを控除しましたか?コメントをつけてdownvoteしてください。この質問に答えた人は、これを答えとしてマークしています。 –
私はこれをdownvoteしませんでしたが、推論はおそらく:1)あなたは問題がどこにあるのかを示しましたが、問題を説明していない、2)問題は実際には 'はスタイルで設定したものを上書きします。これは[Kishore Kumarのリンク]でよく説明されています(http://stackoverflow.com/questions/7126308/wpf-trigger-wont-set-property-if -set-in-element)を使用します。問題は[Dependency Property Setting Precedence](http://msdn.microsoft.com/en-us/library/ms743230.aspx#listing)です。ここで、#3ローカル値は#6スタイルトリガーをオーバーライドします。この例では、コントロールテンプレートは使用していません。 –
cod3monk3y