WPF动画的属性被劫持

  今天使用一个自定义控件的显示Storyboard动画,在动画结束时,Storyboard.TargetProperty设置的目标属性,不能再被设值了,好像该属性被Storyboard劫持了一样。查了MSDN,原来是动画结束后把该属性的值缓存起来,下次执行动画,即从该属性值开始。

  有三种方法可以在动画结束后设置被劫持的属性值

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

  • 移除整个演示图板。

  • 从单个属性移除动画。

  第一种方法,动画结束后即返回动画开始状态,如果想保留动画结束的样子就不能使用该方法。

  第二种方法,如果想重演动画则不行了。

  第三种方法是最好的解决方法。仅解除目标属性的劫持,对动画无影响。


  参考:http://msdn.microsoft.com/zh-cn/library/aa970493.aspx

posted @ 2011-10-26 17:58  OlawonZhu  阅读(280)  评论(0编辑  收藏  举报