是否可以在同一属性上应用2个多重触发器,但条件具有不同的值?
基本上我需要将不透明度设置为0.5,如果IsChecked属性为true且鼠标不在它上面。 但是如果属性IsChecked为false并且鼠标未超过控件,则为0.1。 我给出这种行为的控件是一个ToggleButton(我们正在尝试创建一个Pin按钮)
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsChecked" Value="True"/>
<Condition SourceName="OuterBorder" Property="IsMouseOver" Value="True"/>
</MultiTrigger.Conditions>
<MultiTrigger.EnterActions>
<BeginStoryboard Name="EnterStoryBoard2">
<Storyboard>
<DoubleAnimation Duration="0:0:0.2" Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="(Opacity)" To="1"/>
</Storyboard>
</BeginStoryboard>
</MultiTrigger.EnterActions>
<MultiTrigger.ExitActions>
<BeginStoryboard Name="ExitStoryBoard2">
<Storyboard>
<DoubleAnimation Duration="0:0:0.3" Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="(Opacity)" To="0.5"/>
</Storyboard>
</BeginStoryboard>
</MultiTrigger.ExitActions>
</MultiTrigger>
我通过第一个触发器获得了控件,我需要在IsChecked为真时添加行为。当我添加第二个触发器时,第一个触发器停止工作。是否有可能有这样的2个触发器?
此外我对WPF中的这种效果没有经验,所以我觉得我只是做得太复杂了,我能以一种更简单的方式完成我想要的吗?