WPF 动画执行后属性无法修改

来源:互联网 发布:php如何调用静态方法 编辑:程序博客网 时间:2024/06/08 07:14

在做了一个类似QQ展开的动画时,设置了TopProperty,通过改变Window.Top属性来实现展开特效,

但是动画执行了之后,再去设置Window.Top的时候发现修改不了,代码调试后发现值设置了,但是依旧是原来的值。


这个设计到WPF的动画的一个属性绑架,在MSDN中有详细解释:https://msdn.microsoft.com/zh-cn/library/aa970493(v=VS.100).aspx


在某些情况下,在对属性进行动画处理之后,似乎无法更改该属性的值。

上面的代码似乎未起任何作用:画笔仍然保持为黄色,即对画笔进行动画处理的ColorAnimation 所提供的值。基础属性值(基值)实际上已改为蓝色。 但是,因为 ColorAnimation 仍然在重写基值,所以有效值(或者说当前值)仍保持为黄色。如果需要将基值再次变为有效值,则必须禁止动画影响该属性。使用演示图板动画,可以有三种方法实现此目标:

  • 将动画的 FillBehavior 属性设置为Stop

  • 移除整个演示图板。

  • 从单个属性移除动画。


每种方法都给了详细用法和解释。

当然对我来说,最简单的方法就是第一种,一句代码搞定!



MSDN文档库目录:https://msdn.microsoft.com/zh-cn/library/ms310241






阅读全文
0 0
原创粉丝点击