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

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 内部Template 动画板 无法冻结此 Storyboard 时间线树供跨线程使用

WPF XAML Trigger中使用动画后 动画对象冻结的处理办法

WPF的MediaElement指定Source无法播放问题解决

WPF动画

WPF MVVM模式下动画的实现

2021-09-23 WPF上位机 41-WPF动画介绍,属性,生命周期