【发布时间】:2010-10-16 02:40:41
【问题描述】:
我正在使用 DoubleAnimation 对 RotationTransform 的 Angle 属性进行动画处理。每秒几次,我需要更改旋转速率以响应外部数据,以便随着时间的推移旋转加快和/或减慢(平稳)。我目前正在通过使用从 0.0 到 360.0 持续时间为 X 的 DoubleAnimation 来执行此操作,然后每秒重复几次:
- 从外部数据中获取新值
- 将 DoubleAnimation 上的速率修改为该值
- 再次将 DoubleAnimation 重新应用到 Angle 属性
注意:我确实发现我必须将动画上的 To 和 From 属性更改为“当前角度”和“当前角度+360” - 幸运的是 RotationTransform 在角度 > 360 度时没有问题 - 以防止启动从零角度再次旋转。
我的问题是:这合理吗?似乎并非如此。不断将新的 DoubleAnimations 应用于旋转变换的 Angle 属性似乎是错误的 - 有点像我让 WPF 为旋转设置动画,而 我 自己在为旋转速度设置动画。
有没有更好的办法?
【问题讨论】:
标签: c# wpf xaml animation transform