如何在WPF中运行动画时保持动画?

时间:2014-02-25 06:46:21

标签: c# wpf animation

例如,翻译变换动画正在运行,我想保留动画,但不要停止它,该怎么办?

1 个答案:

答案 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();
}

有关详细信息,请参阅:

MSDN