WPF动画有时无法运行

时间:2010-10-21 21:17:13

标签: c# wpf xaml animation

我有一些非常简单的代码,试图将自定义进度条滑过。这是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,有时它会动画。什么会阻止动画每次发生?

更新 事实证明,动画总是最终运行。如果动画没有运行,我通常只是退出应用程序,但我现在注意到,如果我不管它,动画最终会启动。所以有两种模式:

  1. 动画开始并按预期立即运行
  2. 动画的开头会延迟一段时间。我已经看到它延迟了几秒钟到大约1分钟!

1 个答案:

答案 0 :(得分:0)

尝试删除任何透明度或效果,然后查看问题是否消失。我遇到了同样的问题,那就是有问题的AllowTransparency ...