DoubleAnimation dda1 = new DoubleAnimation( );
**功能**:在指定的Timeline.Duration上使用线性内插对两个目标值之间的double属性值进行动画处理(也就是说动画处理的)
参数1:Form是起始值,就是最初开始某种行为的值
参数2:To是最终的值,就是某种行为最后到达的值
参数3:Duration是处于活动状态的时间,也就是说多长时间来做完某种行为,这个是用new的方法赋值
然后里边的值是由Time.Span.的方法赋值,里边的值有秒、毫秒、分、小时等单位,可以根据自己的实际情况而定
dda.AutoReverse = true;//返回
AutoReverse
功能:获取或设置一个值,该值指示时间线在完成向前迭代后是否按相反的顺序播放(也即是说返回)
dda.RepeatBehavior = RepeatBehavior.Forever;//重复这个行为
RepeatBehavior
功能:获取或设置此时间线的重复行为(就是说一直重复完整的某种行为)
bord4.BeginAnimation(Border.HeightProperty, dda1);启动动画
BeginAnimation
功能:在此元素上启动指定的动画属性的动画
Border.HeightProperty:表示在高度上放大
Border.WidthProperty:表示在宽度上放大
//宽度放大
DoubleAnimation dda = new DoubleAnimation(100,150,new Duration(TimeSpan.FromSeconds(3)));
//实例化动画处理对象
dda.AutoReverse = true;//返回
dda.RepeatBehavior = RepeatBehavior.Forever;//重复这个行为
bord4.BeginAnimation(Border.WidthProperty, dda);//启动动画
//高度放大
DoubleAnimation dda1 = new DoubleAnimation(100, 150, new Duration(TimeSpan.FromSeconds(3)));
//实例化动画处理对象
dda1.AutoReverse = true;//返回
dda1.RepeatBehavior = RepeatBehavior.Forever;//重复这个行为
bord4.BeginAnimation(Border.HeightProperty, dda1);启动动画
TranslateTransform tt = new TranslateTransform();//实例化旋转对象(顺时针旋转)
TranslateTransform
功能:在二维X-Y坐标系统内平移(移动对象)
bord.RenderTransform = tt;//让border控件平移
RenderTransform
功能:获取或设置影响此元素的呈现位置的转换信息,这是依赖性属性
tt.BeginAnimation(TranslateTransform.XProperty, by);//启动动画
BeginAnimation
功能:将动画应用于指定的关联属性,动画会在呈现下一帧的时候启动,如果指定属性已进行动画处理,则切换行为
TranslateTransform tt = new TranslateTransform();//创建平移对象
bord1.RenderTransform = tt;
DoubleAnimation by = new DoubleAnimation(bord1.Width, this.Width-bord1.Width, new Duration(TimeSpan.FromMinutes(0.5)));//创建动画处理对象
by.AutoReverse = true;//反向运动
by.RepeatBehavior = RepeatBehavior.Forever;//无限循环
tt.BeginAnimation(TranslateTransform.XProperty, by);
RotateTransform roate1 = new RotateTransform();//创建旋转对象
RotateTransform
功能:在二维X-Y坐标系统中围绕指定点顺序顺时针旋转某个对象
bord3.RenderTransform = roate1;//将旋转对象赋值给bord3控件的位置
bord3.RenderTransformOrigin = new Point(0.5, 0.5);//旋转的位置为中心点旋转
RenderTransformOrigin
功能:获取或设置任何可能呈现的转换中心点,相对于元素的边界,这是依赖属性。 也就是说设置旋转的位置
注:RenderTransformOrigin的取值
0.5,0.5 | 表示在中心点 |
---|---|
0,0 | 表示在左上角 |
1,1 | 表示在右下角 |
DoubleAnimation double1 = new DoubleAnimation(0,360,new Duration(TimeSpan.FromMinutes(0.3)));//创建处理动画对象并赋值
注:
Form 的值为 0 | 表示从0度开始旋转 |
---|---|
To的值为 360 | 表示旋转一周,一周为360度 |
double1.RepeatBehavior = RepeatBehavior.Forever;//重复旋转的这个行为
6、最后开启这个动画
roate1.BeginAnimation(RotateTransform.AngleProperty, double1);//开启动画
//旋转一个角的动画,并开启动画
AngleProperty:角
RotateTransform roate1 = new RotateTransform();//创建旋转对象
bord3.RenderTransform = roate1;//将旋转对象赋值给bord3控件的位置
bord3.RenderTransformOrigin = new Point(0.5, 0.5);//旋转的位置为中心点旋转
DoubleAnimation double1 = new DoubleAnimation(0,360,new Duration(TimeSpan.FromMinutes(0.3)));//创建处理动画对象并赋值
//创建动画处理对象
double1.RepeatBehavior = RepeatBehavior.Forever;//重复旋转的这个行为
roate1.BeginAnimation(RotateTransform.AngleProperty, double1);//开启动画