0

プロパティペインまたはコードだけを使用して、Blendなしでボタンのデフォルト状態の前景や背景などを編集できますが、Blendなしで他の状態の色を編集することは可能ですか?

たとえば、「マウスオーバー」で灰色に変わるボタンだけが必要です。Stack OverflowやIntertubesで見たものはすべて、Blendを使用しています。それなしでやりたいです。出来ますか?

4

1 に答える 1

2

これを行う簡単な方法は、Styleトリガーを使用することです。

<Style x:Key="HoverButtonStyle" TargetType="{x:Type Button}">
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="Gray"/>
        </Trigger>
    </Style.Triggers>
</Style>

スタイルはリソースで定義されています。次に、XAMLでボタンを定義するときに、次のようにスタイルを割り当てます。

<Button x:Name="MyButton" Style="{DynamicResource HoverButtonStyle}"/>

このスタイルは、マウスがその上にあるときにBackgroundブラシを変更します。Buttonトリガーを使用して実行できるより高度なことはたくさんありますが、これは非常に単純な例です。WPFスタイルトリガーをグーグルで検索すると、かなり徹底的なこの例を含め、多くの例が見つかります。

これを行う方法は他にもあります。たとえば、ここVisualStateManagerで説明するように、を使用しますが、ホバーを変更するだけの場合は、スタイルトリガーがおそらく最も簡単な方法です。Background

于 2013-02-22T18:17:15.457 に答える