我正在学习WPF中的动画。所以,我决定创建一个模拟时钟。为了设计模拟时钟的第二只手,我使用了WPF的Line元素。
现在我想每秒将它从当前位置旋转6度。所以我使用了如下的Simple DoubleAnimation:
<DoubleAnimation Storyboard.TargetName="secondHandRotateTransform"
Storyboard.TargetProperty="Angle"
By="6" RepeatBehavior="Forever" Duration="0:0:1"/>
上面提到的代码在第一秒完美运行。它将线旋转了6度。因为我已将RepeatBehavior设置为Forever,我希望它能够永远持续下去。动画将永远持续,但我希望此动画的From
值更改为动画返回的最后一个值。但每次动画重复时我都会得到From
= 0。
为什么From
重置为0? DoubleAnimation上是否存在存储动画返回的最后一个值的属性?
答案 0 :(得分:3)
最后,从this链接获得答案。
我需要设置IsCumulative="True"
所以,现在我的代码看起来像:
<DoubleAnimation Storyboard.TargetName="secondHandRotateTransform"
Storyboard.TargetProperty="Angle"
IsCumulative="True"
By="6" RepeatBehavior="Forever" Duration="0:0:1"/>