1

以下样式触发器可以正常工作,并且在我使其可见时会在我的控件中淡出:

<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>

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

4

1 回答 1

0

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

此示例下载几乎是此处所示的确切实现

  • 在示例中,MainWindow宿主 a可以通过 a 进行切换,而UserControl后者又使用UserControl 的 DP 来提供淡入/淡出效果。VisibilityButtonMainWindowIsOpen

提到的Style内容是为 DP 添加到 UserControl 后指定的UserControl,以后您几乎可以使用该IsOpen属性来切换 Visibility xith Fade In/Out。

于 2013-08-26T08:39:18.023 回答