C# 更新情节提要中旋转的速度/持续时间
我试图旋转一个UserControl(图像),并通过编程调整旋转的速度 首先,我定义了一个故事板,它旋转一个轮子:C# 更新情节提要中旋转的速度/持续时间,c#,windows-phone-7,storyboard,C#,Windows Phone 7,Storyboard,我试图旋转一个UserControl(图像),并通过编程调整旋转的速度 首先,我定义了一个故事板,它旋转一个轮子: <Storyboard x:Name="wheelRotation"> <DoubleAnimation x:Name="leftRotation" Storyboard.TargetName="leftWheel" Storyboard.Ta
<Storyboard x:Name="wheelRotation">
<DoubleAnimation
x:Name="leftRotation"
Storyboard.TargetName="leftWheel"
Storyboard.TargetProperty="(leftWheel.RenderTransform).(RotateTransform.Angle)"
From="360" To="0" Duration="0:0:2"
AutoReverse="False"
RepeatBehavior="Forever">
</DoubleAnimation>
</Storyboard>
乍一看,这似乎有效,尤其是在速度变化很小的情况下。但是,如果速度增加,在每次更新时,车轮似乎会稍微调整其角度,导致“打嗝”。
(如果速度增加,例如在2分钟内从2秒增加到4秒,则车轮在结束时会向前跳动1-2度,如果时间减少,则每次更新时车轮都会向后旋转一点)
我还尝试使用固定的持续时间来实现该行为,并更新速度比,但这也没有帮助,这些调整仍然发生
我对Silverlight/Windows Phone相当陌生,因此我对它的内部工作原理没有更深入的了解,如果有人能给我一个解决方法的提示,我将不胜感激。谢谢…我不确定在运行时更改
情节提要
/double动画的属性是否是个好主意。我将删除RepeatBehavior=“Forever”
,这样动画将触发一次,而不是处理情节提要。已完成的事件,以便在每次停止时再次启动动画。然后,您可以在重新开始之前调整持续时间。我不确定在运行时更改情节提要
/double动画的属性是否是一个好主意。我将删除RepeatBehavior=“Forever”
,这样动画将触发一次,而不是处理情节提要。已完成的事件,以便在每次停止时再次启动动画。然后,您可以在重新开始之前调整持续时间。您能解释一下您想做什么吗?我还没有尝试过在飞行中改变动画,所以没有这方面的经验。你能解释一下你在做什么吗(为什么动画需要在运行时像那样改变)?你能解释一下你想做什么吗?我还没有尝试过在飞行中改变动画,所以没有这方面的经验。你能解释一下你在做什么吗(为什么动画需要在运行时这样更改)?谢谢。尝试过,但旋转会暂停大约半秒钟,然后继续,即使我在完成的事件中所做的只是调用wheelRotation.Begin()代码>谢谢。尝试过,但旋转会暂停大约半秒钟,然后继续,即使我在完成的事件中所做的只是调用wheelRotation.Begin()代码>
leftRotation.Duration = speed1;