WPF Storyboard останавливается сам - PullRequest
1 голос
/ 30 ноября 2009

У меня есть раскадровка, которая, кажется, сама останавливается случайным образом, я не могу на всю жизнь понять, почему.

Кажется, остановились и случайные интервалы.

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);
    }

Как вы видите, я влияю на пользовательский DP " CurrentFrameProperty ", у которого есть метод обратного вызова, который я распечатываю текущий кадр.

По какой-то причине, и я просто не знаю, почему раскадровка просто останавливается. Завершенное событие НЕ запускается, и метод обратного вызова перестает вызываться.

И я уверен, что я нигде не вызываю stop ().

Если бы у кого-то была эта проблема или она может помочь мне отладить ее, я был бы очень признателен.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2009

Это были деконструкторы! Мои объекты со ссылкой на раскадровки и анимацию разрушались, поэтому анимация выглядела так, как будто замерзла.

ошибка пользователя:)

0 голосов
/ 30 ноября 2009

Ваш код должен работать. Я не уверен, что делает SpeedRatio = this.FrameRate, но вы можете легко протестировать свой код, удалив этот фрагмент. Я думаю, что какой-то другой фрагмент кода влияет на ваш DpendencyProperty, и этот многопоточный код кусает вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...