【发布时间】:2010-10-22 21:46:16
【问题描述】:
我有一些非常简单的代码,试图将自定义进度条滑过。这是 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 分钟!
【问题讨论】: