我正在尝试在程序代码中制作流畅的动画。为此(至少在 Silverlight 中),建议使用 Storyboard 计时器而不是 DispatcherTimer。所以我使用这样的东西:
Storyboard _LoopTimer = new Storyboard();
public void StartAnimation()
{
_LoopTimer.Duration = TimeSpan.FromMilliseconds(0);
_LoopTimer.Completed += new EventHandler(MainLoop);
_LoopTimer.Begin();
}
void MainLoop(object sender, EventArgs e)
{
// Do animation stuff here
// Continue storyboard timer
_LoopTimer.Begin();
}
在 Silverlight 中,这可以正常工作。但是在 WPF 中,我只点击了 MainLoop() 一次。将 RepeatBehaviour 设置为 Forever 也无济于事。那么在 WPF 中使用 Storyboard 执行此操作的正确方法是什么?
非常感谢。