使用WPF动画编程的几点注意事项[转]

简介:

1.       FrameworkElement.Triggers中启动动画的几点备注:

·         Triggers集合中只支持EventTrigger,使用其他类型的Trigger将会加载失败。

·         EventTrigger.SourceName指定的元素必须在当前的EventTrigger所应用的元素的逻辑子树内。如果EventTrigger应用于自身元素,则不需要制定SourceName属性。

·         当对一个依赖属性应用了动画后,再对该属性赋值需要特别注意Timeline.FillBehavior的值。如果Timeline.FillBehavior==HoldEnd,那么在代码中对该属性进行赋值是没有效果的。该属性将会一直持有动画赋予的值。原因是动画赋值有较高的优先级。可以设置FillBehaviorStop或者在该属性上清除动画来解决此问题:

     btn.BeginAnimation(Button.OpacityProperty, null);

 

2.       关于启动动画的两种方式的几点备注,启动动画有两种方式:

·         一种是使用UIElement.BeginAnimation方法。该方法会启动参数所制定的动画来animate自身的某个依赖属性。非常简单,但是该方法只能启动一个动画。

·         另一种是使用Storyboard.Begin方法。该方法可以一次启动多个动画,只要这些动画包含在Storyboard里面。而且其中包含每个Timeline都需要用Storyboard.SetTargetNameStoryboard.SetTargetProperty来制定目标元素和目标属性。需要特别注意的一个缺点是:Storyboard中包含的所有TimelineTarget都必须是FrameworkElement或者FrameworkContentElement的派生类的对象。否则该动画不会有任何效果。这是由于PropertyPath类造成的,因为在SetTargetProperty的时候需要提供一个PropertyPath的一个构造,而PropertyPath被限制与引用从FrameworkElement或者FrameworkContentElement的路径,这是PropertyPath用在Target mode的限制。

 

from:http://blog.csdn.net/gentle_wolf/article/details/6386661 
 

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 572064792 | Nodejs:329118122 做人要厚道,转载请注明出处!

















本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sunshine-anycall/archive/2012/04/17/2453622.html ,如需转载请自行联系原作者

相关文章
WPF中动画教程(DoubleAnimation的基本使用)
WPF中动画教程(DoubleAnimation的基本使用)
177 0
|
算法 C# Windows
不可不知的WPF动画(Animation)
【9月更文挑战第19天】在 WPF(Windows Presentation Foundation)中,动画能为应用程序增添生动性和交互性。主要类型包括线性动画和关键帧动画,可针对依赖属性和自定义属性操作。触发方式有事件触发和自动触发,支持暂停、恢复及停止控制。合理使用这些功能并注意性能优化,可创建引人入胜的用户界面。
199 7
|
C# UED 开发者
WPF与性能优化:掌握这些核心技巧,让你的应用从卡顿到丝滑,彻底告别延迟,实现响应速度质的飞跃——从布局到动画全面剖析与实例演示
【8月更文挑战第31天】本文通过对比优化前后的方法,详细探讨了提升WPF应用响应速度的策略。文章首先分析了常见的性能瓶颈,如复杂的XAML布局、耗时的事件处理、不当的数据绑定及繁重的动画效果。接着,通过具体示例展示了如何简化XAML结构、使用后台线程处理事件、调整数据绑定设置以及利用DirectX优化动画,从而有效提升应用性能。通过这些优化措施,WPF应用将更加流畅,用户体验也将得到显著改善。
1146 1
|
开发者 C# 容器
【独家揭秘】当WPF邂逅DirectX:看这两个技术如何联手打造令人惊艳的高性能图形渲染体验,从环境搭建到代码实践,一步步教你成为图形编程高手
【8月更文挑战第31天】本文通过代码示例详细介绍了如何在WPF应用中集成DirectX以实现高性能图形渲染。首先创建WPF项目并使用SharpDX作为桥梁,然后在XAML中定义承载DirectX内容的容器。接着,通过C#代码初始化DirectX环境,设置渲染逻辑,并在WPF窗口中绘制图形。此方法适用于从简单2D到复杂3D场景的各种图形处理需求,为WPF开发者提供了高性能图形渲染的技术支持和实践指导。
1005 0
|
C# UED 开发者
WPF动画大揭秘:掌握动画技巧,让你的界面动起来,告别枯燥与乏味!
【8月更文挑战第31天】在WPF应用开发中,动画能显著提升用户体验,使其更加生动有趣。本文将介绍WPF动画的基础知识和实现方法,包括平移、缩放、旋转等常见类型,并通过示例代码展示如何使用`DoubleAnimation`创建平移动画。此外,还将介绍动画触发器的使用,帮助开发者更好地控制动画效果,提升应用的吸引力。
626 0
|
存储 C# 数据格式
WPF动画教程(PointAnimationUsingPath的使用)
WPF动画教程(PointAnimationUsingPath的使用)
136 0
|
C#
WPF —— 动画缩放变换
`ScaleTransform`用于二维x-y坐标系中对象的缩放,可沿X或Y轴调整。在故事板中,通过RenderTransform.ScaleX和ScaleY属性控制缩放。示例代码展示了如何设置按钮的RenderTransformOrigin、Background等属性,并通过LayoutTransform应用ScaleTransform。当鼠标进入按钮时,EventTrigger启动DoubleAnimation实现X和Y轴的缩放动画。最后,展示了如何将动画集成到自定义按钮样式中。
310 0
|
人工智能 机器人 C#
Windows编程课设(C#)——基于WPF和.net的即时通讯系统(仿微信)
一款参考QQ、微信的即时通讯软件。采用CS结构,客户端基于.Net与WPF开发,服务端使用Java开发。
|
C#
WPF技术之动画系列-上下运动
本例子展现动画小球上下循环运动
308 0
|
前端开发 C#
C#网络应用编程,实验一:WPF练习
C#网络应用编程,实验一:WPF练习
360 1
C#网络应用编程,实验一:WPF练习