WPF动画的属性被劫持
今天使用一个自定义控件的显示Storyboard动画,在动画结束时,Storyboard.TargetProperty设置的目标属性,不能再被设值了,好像该属性被Storyboard劫持了一样。查了MSDN,原来是动画结束后把该属性的值缓存起来,下次执行动画,即从该属性值开始。
有三种方法可以在动画结束后设置被劫持的属性值
-
将动画的 FillBehavior 属性设置为 Stop
-
移除整个演示图板。
-
从单个属性移除动画。
第一种方法,动画结束后即返回动画开始状态,如果想保留动画结束的样子就不能使用该方法。
第二种方法,如果想重演动画则不行了。
第三种方法是最好的解决方法。仅解除目标属性的劫持,对动画无影响。