【发布时间】:2015-12-14 01:48:06
【问题描述】:
我有这个动画:
<DataTrigger Binding="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=IsVisible}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<Storyboard x:Name="myStoryboard">
<DoubleAnimation From="15" To="85" Duration="00:00:0.7" Storyboard.TargetProperty="Height">
<DoubleAnimation.EasingFunction>
<BounceEase Bounces="2" EasingMode="EaseOut" Bounciness="5" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
当我的StackPanel 可见时触发。我的问题是创建反向动画,何时将 stackpanel 更改为 Collapsed 的可见性。我已经尝试在DataTrigger 中使用ExitActions 我还尝试通过创建一个新的DataTrigger 将绑定设置为Binding="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=IsVisible}" Value="False"
但是这些尝试都没有给我正确的反向动画。有什么建议吗?
【问题讨论】:
-
我觉得问题是stack panel在动画执行之前就被折叠了(折叠了会触发后面的动画),然后就看不到了
-
您应该做的是通过动画触发可见性更改。因此,您可以执行反弹和淡出,然后从同一个故事板将可见性设置为折叠。