多个样式触发器无效

时间:2013-08-26 02:16:53

标签: .net wpf

以下样式触发器工作正常,当我将其显示时,我的控件会消失:

<UserControl.Style>
    <Style>
        <Style.Triggers>
            <Trigger Property="FrameworkElement.Visibility" Value="Visible">
                <Trigger.EnterActions>
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.0" To="1.0" Duration="0:0:1.4"/>
                        </Storyboard>
                    </BeginStoryboard>
                </Trigger.EnterActions>
            </Trigger>
        </Style.Triggers>
    </Style>
</UserControl.Style>

现在我为我的风格添加另一个触发器,让它在我隐藏时淡出:

<Trigger Property="FrameworkElement.Visibility" Value="Hidden">
    <Trigger.EnterActions>
        <BeginStoryboard>
            <Storyboard>
                <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1.0" To="0.0" Duration="0:0:1.4"/>
            </Storyboard>
        </BeginStoryboard>
    </Trigger.EnterActions>
</Trigger>

但这不起作用,甚至也破坏了第一个触发器的行为。我错过了什么?

1 个答案:

答案 0 :(得分:0)

你得到的评论很好地涵盖了这个答案。但是,如果您仍然无法执行它,则可以使用

This sample download这就是显示here

的确切实现
  • 在该示例中,MainWindow托管了UserControlVisibility可以通过ButtonMainWindow切换,IsOpen依次使用Style UserControl的DP用于提供淡入/淡出效果。

UserControl指定了IsOpen,并且在将DP添加到UserControl后,您几乎使用{{1}}属性来切换Visibility xith Fade In / Out。 / p>