Я пытаюсь сделать плавную анимацию в процедурном коде. Для этого (по крайней мере, в Silverlight) рекомендуется использовать таймер раскадровки, а не 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 с раскадровкой?
Большое спасибо.