MultipleTriggers在同一属性中但具有不同的值?

时间:2014-01-29 12:19:34

标签: c# wpf triggers multitrigger

是否可以在同一属性上应用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中的这种效果没有经验,所以我觉得我只是做得太复杂了,我能以一种更简单的方式完成我想要的吗?

0 个答案:

没有答案