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事件的触发器。如果我添加这两个额外的触发器,除了悬停在零件上之外,一切都正常。所以如果我将鼠标悬停在它上面,我的文本框不会有绿色边框。

有没有办法解决这个问题或结合两个触发器,比如If IsMouseOver==true && IsKeyboardFocused == false then borderbrush = green

提前致谢!

4

1 回答 1

3

MultiTrigger触发条件的逻辑与组合。但是,没有逻辑或MultiTrigger

于 2012-07-16T05:37:49.637 回答