我正在 Silverlight 中对边框大小进行动画调整,但是我还需要逐渐删除其周围的边距(当前为 50)。 Blend 似乎不会为边距变化生成补间 - 它只是一次性从 50 跳到 0。有办法实现这一点吗?
问题是边距实际上是“System.Windows.Thickness”类型,它不是依赖项对象,因此 Left、Top、Right 和 Bottom 不是依赖项属性,因此无法使用 DoubleAnimation 进行动画处理(允许补间) 。
用于对边距进行动画处理的是不补间的 ObjectAnimation。这就是为什么您会看到边距从原始位置跳到新位置的原因。作为另一个常见的示例,当您尝试在 Visible 和 Collapsed 之间设置 Visibility 属性的动画时,会发生同样的情况。
您要么需要执行基于计时器的动画才能为边距设置动画,要么为厚度对象实现您自己的动画类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)