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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top