如何在 Silverlight 中反转事件中的双重动画?例如,假设我有一个椭圆作为路径,并且我正在无限循环中沿着这条路径移动一个形状。如果我按下一个按钮,我想反转旋转的方向(顺时针<->逆时针)。
更具体地说,我使用的是 SL4 中新增的 PathListBox 对象。它有一个从 0 到 100% (double 0 - 1) 的 start 属性,它将第一个项目放置在路径上的指定位置。通过将此属性设置为从 0 到 1 和从 1 到 0 的动画,我可以使对象顺时针和逆时针旋转。
假设我有一个按钮,按下按钮时,我想反转方向。我该怎么做呢?我尝试暂停动画并交换动画的 To 和 From 值并恢复它,但这会导致动画跳转。因此,如果它在椭圆上的“3 点钟”,它会跳到“9 点钟”并从那里向后退。我尝试将情节提要的 CurrentTime 属性设置为“Duration - CurrentTime”,但该属性似乎不可设置。
所以,总而言之,关于如何按需反转动画的任何想法?
PS:我知道有一个 PathListBoxUtils 为 PathListBox 提供滚动行为,但这并不能完全实现我想要的。或者换一种说法,我希望修改 PathListBoxUtils 以拥有一个无限旋转、可逆的轮播,而不是一次滚动一个项目。