WPF动画使用三种方法:
- 线性插值:在开始值和结束值之间以逐步增加的方式改变属性的动画(线性插值过程)
(2)关键帧:从一个值突然变成另一个值的动画(关键帧动画)。所有关键帧动画都使用“类型名 —AnimationUsingKeyFrames ” 的形式进行命名,比如
StringAnimationUsingKeyFrames和ObjectAnimationUsingKeyFrames。
(3)路径:
在System.Windows.Media.Animation名称空间中将发现以下内容:
7个 "类型名+Animation类" 这些类使用插值动画。
22个 "类型名+AnimationUsingKeyFrames" 这些类使用关键帧动画。
3个 "类型名+AnimationUsingPath"类这类使用基于路径的动画。
注意:
某些数据类型有关键帧动画类,但没有插值动画类。例如,可使用关键帧为字符串应用动画,不能使用插值为字符串应用动画。然而,所有数据类型都支持关键帧动画,除非他们根本不支持动画。
所有具有(使用插值)常规动画类的数据类型,也都有相应的关键帧动画的动画类型,如线性插值的DoubleAnimation对应DoubleAnimationUsingKeyFrames。另外还有一种基于路径的动画。
Animation类提供一种简单的“渐变”动画,我们为一个Animation指定开始值和一个结束值,并指定由开始值到达结束值所需的时间,便可形成一个简单的动画。
一、动画创建
第一部分:创建 DoubleAnimation
使元素淡入淡出的一种方法是对其属性进行动画处理Opacity。由于Opacity属性的类型为Double。因此需要一个生成双精度值的动画。DoubleAnimation是一种动画。DoubleAnimation创建两个双精度值之间的转换。若要指定其起始值,请设置其Form属性。若要指定其结束值,请设置其To 属性。
<!--定义动画:TargetName指定操作控件,TargetProperty指定操作控件的具体属性,
From指定开始值,To指定结束值,Duration指定所需时间-->
<DoubleAnimation Storyboard.TargetName="MyRectangle"
Storyboard.TargetProperty="Width" From="100" To="200"
Duration="0:0:1"/>
单独创建动画是不行的,要把动画放在故事版里面,通过事件去触发它。
第二部分:创建演示图版(故事版)
若要将动画应用于对象,请创建Storyboard并使用TargetName和TargetProperty附加属性指定要进行动画处理的对象和属性
故事版(演示版)
Storyboard(故事版)是动画的基本单元。
Storyboard控制动画的播放、暂停、停止等操作。
需要指定TargetName和TargetProperty属性。
动画类型声明过后,需要使用EventTrigger(事件触发器)触发。
第三部分(XAML):将演示图版与触发器关联(事件触发器)
若要应用和启动中,最简单的方法Storyboard XAML是使用事件触发器。本部分演示如何将Storyboard与XAML中的触发器相关联。
事件触发器
通过事件触发器播放BeginStoryboard故事版的动画效果。