特效(变形)RenderTransform特效(变形)
WPF中的变形(RenderTransform)类是为了达到直接去改变某个Silverlight对象的形状
(比如缩放、旋转一个元素)的目的而设计的,RenderTransform包含的变形属性成员就
是专门用来改变Silverlight对象形状的,它可以实现对元素拉伸,旋转,扭曲等效果,同
时变形特效也常用于辅助产生各种动画效果。
1. RenderTransform类:
该类成员如下:
TranslateTransform:能够让某对象的位置发生平移变化。
RotateTransform:能够让某对象产生旋转变化,根据中心点进行顺时针旋转或逆时针
旋转。
ScaleTransform:能够让某对象产生缩放变化。
SkewTransform:能够让某对象产生扭曲变化。
TransformGroup:能够让某对象的缩放、旋转、扭曲等变化效果合并起来使用。
MatrixTransform:能够让某对象通过矩阵算法实现更为复杂的变形。
变形元素包括平移变形、旋转变形、缩放变形、扭曲变形、矩阵变形和组合变形元素,
变形特效常用于在不改变对象本身构成的情况下,使对象产生变形效果,所以变形元素
常辅助产生Silverlight中的各种动画效果。
通常,对于MediaElement元素使用RenderTransform属性比使用LayoutTransform属性更
好,因为RenderTransform属性是轻量级的。而且它还可以使用方便的
RenderTransformOrigin属性值,从而可以为特定的变换(如旋转)使用相对坐标。
线性插值动画
TragetName:指定操作控件
TragetProperty:指定操作目标(控件的属性)
动画(Animation):
WPF动画使用三种方法:
(1)线性插值:在开始值和结束值之间以逐步增加的方式改变属性的动画(线性插值过
程)。
(2)关键帧:从一个值突然变成另一值的动画(关键帧动画)。所有关键帧动画都使用
"类型名 + AnimationUsingKeyFrames " 的形式进行命名,比如
StringAnimationUsingKeyFrames和ObjectAnimationUsingKeyFrames。
(3)路径。
在System.Windows.Media.Animation名称空间中将发现以下内容: 7个 “类型名+Animation类” 这些类使用插值动画。
22个 “类型名+AnimationUsingKeyFrames” 这些类使用关键帧动画。 3个 "类型名+AnimationUsingPath"类这类使用基于路径的动画。 注意:
某些数据类型有关键帧动画类,但没有插值动画类。例如,可使用关键帧为字符串应用
动画,不能使用插值为字符串应用动画。然而,所有数据类型都支持关键帧动画,除非他们根本不支持动画。
所有具有(使用插值)常规动画类的数据类型,也都有相应的关键帧动画的动画类型,如线性插值的DoubleAnimation对应DoubleAnimationUsingKeyFrames。另外还有一种基于路径的动画。
相使用动画就得引用System.Windows.Media.Animation名称空间不然就使用不了
动画分为三部分
第 1 部分:创建 DoubleAnimation 页面布局
使元素淡入和淡出的一种方法是对其属性进行动画处理 Opacity 。 由于 Opacity 属性的
类型为 Double ,因此需要一个生成双精度值的动画。 DoubleAnimation是一种动画。
DoubleAnimation创建两个双精度值之间的转换。 若要指定其起始值,请设置其 From
属性。 若要指定其结束值,请设置其 To 属性。
第 2 部分:创建演示图板(故事版)设置窗体弹出动画
若要将动画应用于对象,请创建 Storyboard 并使用 TargetName 和 TargetProperty
附加属性指定要进行动画处理的对象和属性。
第 3 部分 (XAML):将演示图板与触发器关联(事件触发器)
若要应用和启动中,最简单的方法 Storyboard XAML 是使用事件触发器。 本部分演示如
何将 Storyboard 与 XAML 中的触发器相关联。
Duration :起始值到目标值需要时间5秒。
AutoReverse=“True”:使元素消失后变为视野
RepeatBehavior=“Forever”: 使动画无限重复
设计器就是来改变现有的属性值