1

このスタイルと、コンボボックスのIsMouseOverプロパティ(メニューに変換)のトリガーがあります。このトリガーが起動したとき(マウスがアイテムの上にあるとき)に別のオブジェクトの表示を変更したいのですが、これは可能ですか?現在、これが発生したときにフォアグラウンドを設定しているところですが、それは方法であるに違いないと思います。

<Style x:Key="HeaderMenuButtonStyle" TargetType="TextBlock">
    <Setter Property="Margin" Value="0,0,20,5" />
    <Setter Property="Foreground" Value="{StaticResource HeaderMenuButtonColorBrush}" />
    <Setter Property="FontSize" Value="24" />
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Foreground" Value="{StaticResource HeaderMenuButtonHoverColorBrush}" />
        </Trigger>
    </Style.Triggers>
</Style>
4

1 に答える 1

2

影響を受けるコントロールにトリガーを設定することでロジックを逆にすることができますが、このスタイルが適用されるコントロールをターゲットにする方法が必要です。

例えば

<DataTrigger Binding="{Binding IsMouseOver, ElementName=ThatMenuItem}" ...>

(Blend SDK)のトリガーとアクションを使用すると、Interactivity他のコントロールに影響を与える可能性がありますが、それらは必須であるため、アクションを元に戻す必要があります(つまり、トリガーをオンにして、 -triggerfalseで実行されたものを元に戻すために必要なことを実行します) true

于 2012-08-24T22:05:03.977 に答える