1

テキストボックスの動作を変更して、誰かがそれらの上にカーソルを置いた場合にボーダーブラシを変更しようとしました。同時に、誰かが入力した場合、テキストボックスを緑色の枠で囲んだままにしたい. 私は最初にホバーオーバーを試し、このコードを作成しました:

<Style TargetType="{x:Type TextBox}">
        <Style.Triggers>
            <Trigger Property="TextBox.IsMouseOver" Value="True">
                <Setter Property="BorderBrush" Value="Green"/>
                <Setter Property="BorderThickness" Value="2"/>
            </Trigger>
            <Trigger Property="TextBox.IsMouseOver" Value="False">
                <Setter Property="BorderBrush" Value="Black"/>
                <Setter Property="BorderThickness" Value="1"/>
            </Trigger>
        </Style.Triggers>
    </Style>

IsKeyboardFocused問題は、イベントのトリガーを追加することです。これらの 2 つのトリガーを追加すると、ホバー オーバー パーツ以外はすべて機能します。そのため、テキストボックスにカーソルを合わせると、テキストボックスに緑色の境界線が表示されません。

これを解決したり、2つのトリガーを組み合わせたりする方法はありますIf IsMouseOver==true && IsKeyboardFocused == false then borderbrush = greenか?

前もって感謝します!

4

1 に答える 1

3

MultiTrigger条件の論理 AND の組み合わせでトリガーされます。ただし、論理 OR はありませMultiTriggerん。

于 2012-07-16T05:37:49.637 に答える