例如,翻译变换动画正在运行,我想保留动画,但不要停止它,该怎么办?
答案 0 :(得分:1)
为了暂停动画正常工作,你需要从代码中调用Begin()方法,例如Loaded
事件处理程序(例如:Window_Loaded
),因为 - 引自{{3 }}:
当您开始暂停的故事板时,它似乎恢复并重新启动。然而,这不是实际发生的事情。 Begin方法实际上用一个未启用的版本替换自己。 每次调用Begin方法时,都会为故事板创建时钟对象。这些时钟将分发到它们动画的属性中。因此,当再次调用Begin方法时,它不会重新启动它的时钟;它用新的时钟代替它们。
示例:
<Window.Resources>
<Storyboard x:Key="SomeStoryboard">
...
</Storyboard>
</Window.Resources>
在Loaded
事件或其他事件中:
MyStoryboard = (Storyboard)this.FindResource("SomeStoryboard");
MyStoryboard.Begin();
在Pause
按钮中:
private void ButtonPause_Click(object sender, RoutedEventArgs e)
{
MyStoryboard.Pause();
}
有关详细信息,请参阅: