WPF Storyboard pára por si só
-
08-07-2019 - |
Pergunta
Eu tenho um storyboard que parece parar aleatoriamente, por si só, não posso para a vida de me descobrir o porquê.
Parece que parar e intervalos aleatórios.
private void CreateStoryboard(int from)
{
int? targetTo;
Duration dur;
targetTo = 150;
dur = 150;
Int32Animation element = new Int32Animation();
element.From = from;
element.To = targetTo;
element.Duration = dur;
Storyboard.SetTargetProperty(element, new PropertyPath(CurrentFrameProperty));
_filmstripStoryboard = new Storyboard {SpeedRatio = this.FrameRate};
_filmstripStoryboard.Children.Add(element);
_filmstripStoryboard.Completed += new EventHandler(FilmstripStoryboard_Completed);
_filmstripStoryboard.Begin(this, true);
}
Como você pode ver im afetando o costume " CurrentFrameProperty " DP, que tem um método de retorno que eu imprimir o quadro atual.
Por alguma razão, e eu tenho apenas idéia do porquê, o storyboard simplesmente pára. O evento concluído não ser demitido, e o método de retorno pára sendo chamado.
E eu tenho certeza que eu não estou chamando stop () em qualquer lugar.
Se alguém já teve este problema ou pode me ajudar a depurar isso, eu ficaria muito grato.
Solução 2
Foi a desconstrutores! Meus objetos com uma referência para os storyboards e animações estavam sendo destruídos, então a animação apenas parecia que congelou-se.
erro do usuário:)
Outras dicas
O seu código deve funcionar. Não estou certo o que o SpeedRatio = this.FrameRate faz, mas você pode facilmente testar seu código com aquele pedaço removido. Meu melhor palpite é que algum outro pedaço de código está afetando sua DpendencyProperty, e que o código multithreaded está mordendo você.