WPF Storyboard se detiene solo
-
08-07-2019 - |
Pregunta
Tengo un guión gráfico que parece detenerse al azar por sí solo, no puedo entender por qué.
Parece detenerse e intervalos aleatorios.
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 puede ver, estoy afectando la costumbre " CurrentFrameProperty " DP, que tiene un método de devolución de llamada que imprimo el marco actual.
Por alguna razón, y no tengo idea de por qué, el guión gráfico simplemente se detiene. El evento completado NO se activa y el método de devolución de llamada deja de recibir llamadas.
Y estoy seguro de que no estoy llamando a stop () en ningún lado.
Si alguien ha tenido este problema o puede ayudarme a depurarlo, estaría muy agradecido.
Solución 2
¡Fueron los deconstructores! Mis objetos con una referencia a los guiones gráficos y las animaciones se estaban destruyendo, por lo que la animación parecía congelarse.
error de usuario :)
Otros consejos
Su código debería funcionar. No estoy seguro de lo que hace SpeedRatio = this.FrameRate, pero puede probar fácilmente su código con esa pieza eliminada. Mi mejor conjetura es que algún otro fragmento de código está afectando su DpendencyProperty, y que el código multiproceso lo está mordiendo.