0

我正在尝试在程序代码中制作流畅的动画。为此(至少在 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 执行此操作的正确方法是什么?

非常感谢。

4

1 回答 1

0

我认为在 Silverlight 中使用 Storyboard 只是弥补早期版本中没有 DispatcherTimer 的一种技巧。

在任何情况下,您都需要在 Storyboard 完成后重新启动它。它不会自动重启。

于 2010-05-13T06:45:20.840 回答