自动平滑调整大小过渡 - 故事板的问题

2023-12-27

一段时间以来,我一直在尝试创建一个类/一系列类,在检测到相关对象的调整大小时,尝试停止对象的调整大小并为其创建平滑的调整大小动画。 然而,我总是遇到一个问题,即在动画开始之前,对象在屏幕上以目标大小“闪烁”一秒钟。

长话短说,经过一些认真的调试和自我怀疑,我的印象是调用Storyboard.Begin()不会影响目标值,直到下一个时钟滴答声。我认为这与Storyboard.Seek()直到下一个时钟滴答声才会发生。 (请参阅 MSDN 参考 http://msdn.microsoft.com/en-us/library/cc190534%28v=vs.95%29.aspx)。因此,在动画开始之前,对象会在单帧中采用新的高度,将其拉回起始高度。

我花了很长时间试图让它发挥作用,因为它并不像看起来那么简单。我无法设置FrameworkElement.Height to the e.PreviousSize.Height in a FrameworkElement.SizeChanged事件处理程序,因为这会影响对象的“真实”高度。作为为什么这不起作用的一个例子,如果在动画播放时某些东西改变了对象的“真实”高度,则重新设置FrameworkElement.Height动画开始时收集的目标高度可能会将其设置为不正确的过时值。

我尝试过更多的事情,我相信随着答案的到来,它们会出现,但如果您有任何想法,我们将非常感激。


通过创建一个处理子对象大小调整的布局容器,您可能会拥有更好的运气,例如Robby Ingebretsen 的动画面板 http://nerdplusart.com/animatedpanel.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动平滑调整大小过渡 - 故事板的问题 的相关文章

随机推荐