0

是否可以将 2 个 Multitriggers 应用于相同的属性但条件具有不同的值?

基本上我需要将不透明度设置为 0.5,如果 IsChecked 属性为真并且鼠标不在它上面。但是如果属性 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中的这种效果没有经验,所以我觉得我只是在做它更复杂,我可以用更简单的方式完成我想要的吗?

4

0 回答 0