我有以下代码:

<DataTrigger.EnterActions>
  <BeginStoryboard Name="foo" Storyboard="{StaticResource FadeInCurrentStoryBoard}"/>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
  <RemoveStoryboard BeginStoryboardName="foo"/>
</DataTrigger.ExitActions>
...
<Storyboard x:Key="FadeInCurrentStoryBoard">
  <ColorAnimation Duration="0:0:0.2" To="#75BAFF" Storyboard.TargetProperty="(TextBox.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="MainText"/>
...


问题是立即删除情节提要,但我想将0.2延迟返回到原始值。我没有看到任何设置删除持续时间的属性吗?

最佳答案

我认为您想要做的是在ExitActions中放置另一个故事板,称为FadeOutStoryboard,它执行相反的操作,而不是RemoveStoryboard。

当不再需要故事板时,RemoveStoryboard是一种释放内存的方法,而不是反转先前动画的效果。

关于c# - RemoveStoryboard,使其动画回原始,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21001014/

10-13 04:59