我尝试更改文本框的行为,以便在有人将鼠标悬停在其上时更改其边框。与此同时,如果有人输入文本框,我希望我的文本框保持绿色边框。 我首先尝试将鼠标悬停在物品上并创建了这段代码:
<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
?
提前致谢!
答案 0 :(得分:3)
MultiTrigger
触发逻辑与条件组合。但是,没有逻辑OR MultiTrigger
。