WPF анимация иногда не запускается - PullRequest
1 голос
/ 22 октября 2010

У меня есть довольно простой код, который пытается переместить пользовательский индикатор выполнения. Вот XAML:

<!-- Progress display -->
<uControl:ProgressDisplayPie
   x:Name="soakProgressDisp"
   Canvas.Left="357" Canvas.Top="29"
   ProgressValue="0" Height="198" />

В ответ на нажатие кнопки индикатор выполнения скользит по:

private void sauceApplied_Click(object sender, RoutedEventArgs e)
{                         
    // Beep beep
    soundPlayer.SoundLocation = "Resources/Audio/1-first.wav";
    soundPlayer.Play();

    // Move the progress display
    DoubleAnimation moveAnimation = new DoubleAnimation();
    moveAnimation.To = 460;
    moveAnimation.Duration = TimeSpan.FromMilliseconds(1000);
    moveAnimation.AccelerationRatio = 1.0;
    soakProgressDisp.BeginAnimation(Canvas.LeftProperty, moveAnimation);                
}

Это работает каждый раз на моем ПК. Однако при запуске на небольшом панельном ПК анимация иногда не происходит. Индикатор выполнения просто остается на месте. Я проверил, генерируются ли какие-либо исключения, но все выполняется чисто.

Панельный ПК имеет самую последнюю версию .NET и, опять же, иногда оживляет. Любые идеи, что бы предотвратить анимацию каждый раз?

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

  1. Анимация начинается и запускается сразу же, как и предполагалось
  2. Начало анимации задерживается на некоторое время. Я видел, что это задерживается от нескольких секунд до 1 минуты!

1 Ответ

0 голосов
/ 22 октября 2010

Попробуйте удалить любую прозрачность или эффекты и посмотрите, исчезнет ли проблема. Я столкнулся с той же проблемой, и это была ошибка AllowTransparency ...

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