使用WPF动画编程的几点注意事项[转]
2012-04-17 14:35
453 查看
1. 在FrameworkElement.Triggers中启动动画的几点备注:
· 此Triggers集合中只支持EventTrigger,使用其他类型的Trigger将会加载失败。
· EventTrigger.SourceName指定的元素必须在当前的EventTrigger所应用的元素的逻辑子树内。如果EventTrigger应用于自身元素,则不需要制定SourceName属性。
· 当对一个依赖属性应用了动画后,再对该属性赋值需要特别注意Timeline.FillBehavior的值。如果Timeline.FillBehavior==HoldEnd,那么在代码中对该属性进行赋值是没有效果的。该属性将会一直持有动画赋予的值。原因是动画赋值有较高的优先级。可以设置FillBehavior为Stop或者在该属性上清除动画来解决此问题:
btn.BeginAnimation(Button.OpacityProperty, null);
2. 关于启动动画的两种方式的几点备注,启动动画有两种方式:
· 一种是使用UIElement.BeginAnimation方法。该方法会启动参数所制定的动画来animate自身的某个依赖属性。非常简单,但是该方法只能启动一个动画。
· 另一种是使用Storyboard.Begin方法。该方法可以一次启动多个动画,只要这些动画包含在Storyboard里面。而且其中包含每个Timeline都需要用Storyboard.SetTargetName和Storyboard.SetTargetProperty来制定目标元素和目标属性。需要特别注意的一个缺点是:Storyboard中包含的所有Timeline的Target都必须是FrameworkElement或者FrameworkContentElement的派生类的对象。否则该动画不会有任何效果。这是由于PropertyPath类造成的,因为在SetTargetProperty的时候需要提供一个PropertyPath的一个构造,而PropertyPath被限制与引用从FrameworkElement或者FrameworkContentElement的路径,这是PropertyPath用在Target mode的限制。
from:http://blog.csdn.net/gentle_wolf/article/details/6386661
· 此Triggers集合中只支持EventTrigger,使用其他类型的Trigger将会加载失败。
· EventTrigger.SourceName指定的元素必须在当前的EventTrigger所应用的元素的逻辑子树内。如果EventTrigger应用于自身元素,则不需要制定SourceName属性。
· 当对一个依赖属性应用了动画后,再对该属性赋值需要特别注意Timeline.FillBehavior的值。如果Timeline.FillBehavior==HoldEnd,那么在代码中对该属性进行赋值是没有效果的。该属性将会一直持有动画赋予的值。原因是动画赋值有较高的优先级。可以设置FillBehavior为Stop或者在该属性上清除动画来解决此问题:
btn.BeginAnimation(Button.OpacityProperty, null);
2. 关于启动动画的两种方式的几点备注,启动动画有两种方式:
· 一种是使用UIElement.BeginAnimation方法。该方法会启动参数所制定的动画来animate自身的某个依赖属性。非常简单,但是该方法只能启动一个动画。
· 另一种是使用Storyboard.Begin方法。该方法可以一次启动多个动画,只要这些动画包含在Storyboard里面。而且其中包含每个Timeline都需要用Storyboard.SetTargetName和Storyboard.SetTargetProperty来制定目标元素和目标属性。需要特别注意的一个缺点是:Storyboard中包含的所有Timeline的Target都必须是FrameworkElement或者FrameworkContentElement的派生类的对象。否则该动画不会有任何效果。这是由于PropertyPath类造成的,因为在SetTargetProperty的时候需要提供一个PropertyPath的一个构造,而PropertyPath被限制与引用从FrameworkElement或者FrameworkContentElement的路径,这是PropertyPath用在Target mode的限制。
from:http://blog.csdn.net/gentle_wolf/article/details/6386661
相关文章推荐
- 使用WPF动画编程的几点注意事项
- 关于使用READ TABLE语句的几点注意事项
- C#多线程编程之:lock使用注意事项
- 使用Irrlicht引擎播放动画注意事项
- [原创].使用Nios II 9.1 SP1 SBTE的Flash Programmer的几点注意事项
- 关于postman使用的几点注意事项
- 使用poi操作Excel的几点注意事项
- webapi使用System.Web.Http.Cors配置跨域访问的几点注意事项
- 关于使用READ TABLE语句的几点注意事项
- 你不知道的JavaScript--Item14 使用prototype的几点注意事项
- ABAP 筑基宝典(5) -- 关于使用READ TABLE语句的几点注意事项
- 使用ES6写react组件的几点注意事项
- 【编程开发】C语言中随机数rand使用注意事项
- 位域结构体变量在主流控制器(ARM/DSP等)编程使用时注意事项
- 你不知道的JavaScript--Item14 使用prototype的几点注意事项
- 关于Aspose.NET使用的几点注意事项
- 关于使用READ TABLE语句的几点注意事项...(原文来源于网络)
- UGUI中带参数事件的使用,itween动画注意事项以及切换场景
- 关于使用析构函数的几点注意事项