Onmouseover将我的图像向下移动50px(storyboard1) Onmouseout将我的图像移回50px(storyboard2)
我的问题是,如果你快速鼠标悬停然后再次退出它会使动画口吃,因为storyboard1没有完成它的动画,它会在我鼠标移动时停止。在允许storyboard2开始之前,如何使用已完成的事件处理程序或其他方法强制storyboard1完全完成?
我尝试连接已完成的事件处理程序,该处理程序在我的C#代码中创建一个方法。在那段代码中,我尝试将一个全局bool设置为true,如果故事板完成,然后在我的mouseout事件中我说如果我的bool不是真的那么不要成为storyboard2,它不起作用。
答案 0 :(得分:1)
第一个动画不是实际停止,只是最后运行的故事板会覆盖值更改。故事板一直运行,直到显式停止,保留最后的值。
为避免口吃,您需要确保您的onmouseout故事板没有初始值。只有最终价值。然后它将从任何地方插回到起始点,而不是跳到最后一点,然后回动动画。
如果您无法自行修复,请发布您的Xaml,我会发布修复程序。
这个新场景的问题在于动画的时间是固定的,因此动画后退将显得更慢(例如,从完全后退到中途需要相同的时间)。< / p>
该问题的解决方案是另一个问题(答案涉及动态更改播放速度)。