1

我有边界元素,其 Margin 属性绑定到某个类的 StartDate (DateTime) 属性。如果属性更改边距也更改(在转换器的帮助下)。

我想尽可能顺利地进行更改。例如,在 UI 端,数据类中的一小时等于屏幕上的 15 像素,当我更改 StartDate +/- 一小时时,我可以看到元素边距向右/向左跳跃 +/- 15 像素......那我怎么能动画这个?

先感谢您!

顺便说一句 - 这是我在这里的第一个问题:)

4

1 回答 1

1

不幸的是,您无法通过动画原生地操纵边距。边距实际上是一个厚度对象,简单的属性动画师几乎不可能自己找出对象。

然而,就像现在的任何事情一样,有很多方法可以覆盖它:

  1. 移动对象的位置而不是边距: Silverlight 中的动画边距变化

  2. 在 WPF 中创建一个类似于 ThicknessAnimation 类的新类并在代码中调用它:http: //blogs.msdn.com/blemmon/archive/2009/03/18/animating-margins-in-silverlight.aspx

  3. ...或者我更喜欢的方式:找到其他东西来制作动画。你可以操纵一个不同的对象来移动你的其他对象。您可以非常轻松地为不可见/清晰对象的宽度和高度设置动画。如果该项目是堆栈面板中的第一个项目,则它之后的所有项目都将随着其大小值的更改而移动。这可能会变得很挑剔,但它真的很容易做到。

祝你好运!

于 2010-04-15T20:56:52.497 回答