我将Border元素与Margin属性绑定到某个类的StartDate(DateTime)属性。如果财产变更保证金也改变了(借助转换器)。
我想尽可能顺利地做出改变。例如,在UI端,数据类中的一小时等于屏幕上的15个像素,当我更改StartDate +/-一小时时,我可以看到元素边距向右/向左跳跃+/- 15像素...所以我怎么能动画这个?
提前谢谢!
BTW - 这是我在这里的第一个问题:)
答案 0 :(得分:1)
不幸的是,您无法通过动画本机操纵边距。边距实际上是一个厚度对象,对于简单的属性动画师来说,几乎不可能找到对象。
但是,就像现在的任何事情一样,有很多方法可以覆盖它:
移动对象的位置而不是边距: Animate Margin Change in Silverlight
在WPF中创建一个类似于ThicknessAnimation类的新类,并在代码中调用它:http://blogs.msdn.com/blemmon/archive/2009/03/18/animating-margins-in-silverlight.aspx
...或者我喜欢的方式:找一些其他的动画。您可以操纵另一个移动其他对象的对象。您可以非常轻松地为不可见/清晰对象的宽度和高度设置动画。如果该项是堆栈面板中的第一项,那么它之后的所有项都将随着它的大小值的改变而移动。这可能变得挑剔,但这很容易做到。