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.

Foi útil?

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ê.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top