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

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

在做了一个类似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

 

 

 

 

 

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

上一篇:三种方法,让WPF项目生成单文件


下一篇:.net4.6版本前设置window子窗口位置主窗口闪烁