多触发器问题

时间:2017-01-27 13:09:45

标签: wpf xaml triggers

我使用了MultiTrigger,如下所示

<MultiTrigger>
  <MultiTrigger. Conditions>
    <Condition Property="IsFocused"
               Value="True" />
    <Condition Property="IsMouseOver"
               Value="True" />
  </MultiTrigger.Conditions>
  <MultiTrigger.Setters>
    <Setter TargetName="Border"
            Property="Background"
            Value="Yellow" />
  </MultiTrigger.Setters>
</MultiTrigger>

MouseOver的背景只会更改,而IsFocused则不会更改。

如果我删除鼠标超过条件它的工作正常聚焦事件,如何摆脱这个?

2 个答案:

答案 0 :(得分:0)

使用两个单独的触发器:

<Style.Triggers>
    <Trigger Property="IsFocused" Value="True">
        <Setter TargetName="Border" Property="Background" Value="Yellow" />
    </Trigger>
    <Trigger Property="IsMouseOver" Value="True">
        <Setter TargetName="Border" Property="Background" Value="Yellow" />
    </Trigger>
</Style.Triggers>

答案 1 :(得分:0)

使用您的XAML代码,只有在满足两个条件,IsFocused和IsMouseOver时才会触发背景设置。

要触发每个单个事件,请执行mm8建议:制作两个单独的触发器。