WPF动画有时不运行
问题描述:
我有一些非常简单的代码,试图将自定义进度条滑过。这里是XAML:WPF动画有时不运行
<!-- 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分钟!
答
尝试删除任何透明度或效果,看看问题是否消失。我遇到了同样的问题,它是越野车AllowTransparency ...
我似乎没有任何影响。我也用一个标准的WPF进度条重现了这一点,以确保它不是我的自定义控件导致的问题。 – BabaBooey 2010-10-22 18:06:38