【发布时间】:2018-12-18 23:58:15
【问题描述】:
请看这个Storyboard:
<Storyboard x:Key="visibilityStoryboardn">
<ObjectAnimationUsingKeyFrames BeginTime="0:0:0" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<DoubleAnimation BeginTime="0:0:0.0" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2.0"/>
<DoubleAnimation BeginTime="0:0:10.0" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:2.0"/>
<ObjectAnimationUsingKeyFrames BeginTime="0:0:2" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
我尝试将我的元素 Visibility 从 Collapsed 更改为 Visible,持续时间为 2 秒,然后等待 10 秒并将 Visibility 更改回 Collapsed。
目前这仅做第一件事,我的意思是这会将我的元素更改为 Visible,持续时间为 2 秒,然后立即开始将其隐藏回 Collapsed,但现在没有动画样式。
【问题讨论】:
-
动画发生的顺序,不是您在 xaml 代码中放置它们的顺序。正如答案中所指出的,使用 BeginTime / KeyTime 在时间轴上安排您的动画。
标签: wpf animation visibility