所以我搜索了一个解决方案,但我找不到任何东西......
我有一个使用Storyboard进行动画制作的应用程序,以及一个创建动画并启动动画的按钮。看起来像这样:
DoubleAnimation animation = new DoubleAnimation
{
//properties
};
sb = new Storyboard();//sb is the Storyboard
sb.Children.Add(animation);
Storyboard.SetTargetName(animation, myControl.Name);
Storyboard.SetTargetProperty(animation, new PropertyPath(Canvas.TopProperty));
sb.Begin(this);
问题在于,当动画仍在运行时单击按钮时,它会重新启动动画,我希望它能够将其添加到订单中。所以当动画结束时,它会一遍又一遍地重复开始,这是我点击按钮的次数。
答案 0 :(得分:0)
我建议你不要试图更改已经运行的故事板,而是仅使用动画列表。 或者故事板,如果你需要在故事板中使用某些功能,比如一次动画几件事。
然后,您可以将它们添加到列表(甚至是队列)。 订阅每个完成的活动。 保留currentIndex指针,以便知道哪个正在运行。 当命中完成的事件时,从刚完成的事件中取消挂钩事件处理程序,挂钩下一个事件处理程序。开始下一个故事板。