我正在从后面的代码中为我的 Windows 8 应用程序中的某些内容设置动画。我有一组动画对象,每个对象都包含一个DoubleAnimation
. 我调用了一个方法,它遍历这个集合,Storyboard
为每个对象创建新对象并开始它们。无论我BeginTime
是在情节提要上设置, DoubleAnimation
还是两者都设置,它们都同时启动和运行。
如何将动画延迟设定的毫秒数?
foreach (AnimationObject a in queue)
{
Storyboard sb = new Storyboard();
sb.Duration = a.DoubleAnimation.Duration;
sb.BeginTime = a.DoubleAnimation.BeginTime;
sb.Children.Add(a.DoubleAnimation);
Storyboard.SetTarget(a.DoubleAnimation, a.Target);
Storyboard.SetTargetProperty(a.animation, a.TargetProperty);
sb.Begin();
}
我写了一个队列来代替它使用await Task.Delay(a.BeginTime)
并且这有效,所以我知道我正确设置了 BeginTime。然而,任务延迟方法似乎不是很有效