高级动画

高级动画
动态变换。
变换提供了自定义元素的最强大方式之一。每个元素都能以两种不同的方式使用 变换,RenderTransform属性和LayoutTransform属性。RenderTransform属性效 率更高。因为是在布局之后应用变换,并且用于变换最终的渲染输 出。LayoutTransform在布局前应用,从而其他控件需要重新排列以适应变换。

自定义一个资源页面用了StackPanel布局,在里面放了4个按钮,默认状态下它是垂直排布的。
高级动画_第1张图片
高级动画_第2张图片

如果想改变它的排布可以设置Orientation属性,并排。
高级动画_第3张图片

窗口资源我们改变了一些按钮的样式,就基本的设置了它的宽高,边距,外边距,字体大小。
在这里插入图片描述

用到变形就要用到RenderTransform属性,变形有多种我们这里只用到其中一种旋转,使用RotateTransform时,一定要使用TransformGroup,否则不能进行动画。RotateTransform:能够让某对象产生旋转变化,根据中心点进行顺时针旋转或逆时针旋转。
要旋转他就要一个中心角度。包括属性Angle(旋转角度),CenterX、CenterY(旋转的中心)
在这里插入图片描述

MouseLeave鼠标进入事件,操控变形的旋转元素RotateTransform的角度属性Angle,通过索引查找0代表第一个, 从0度变成360度,历时两秒钟,当鼠标移入的时候执行动画。调用触发器触发。
在这里插入图片描述

MouseLeave鼠标离开事件,本身是没有角度的,鼠标移开后一秒变成0,返回原来的效果。
在这里插入图片描述

由于我们多个都用到所以每个都可以旋转。位置发生改变。
高级动画_第4张图片

除了Transform我们还可以用LayOutTransform,和上述一样,只是属性不同。
在这里插入图片描述
用LayOutTransform的话就不用索引,RepeatBehavior:使用RepeataBehavior属性可以控制如何重复运行动画,Forever设置为永久重复.
在这里插入图片描述

随着转动高度也会改变。
高级动画_第5张图片

动态改变画刷
使用ColorAnimation改变颜色,使用PointAnimatin改变坐标。
用了一个grid布局,几何绘图绘制了一个椭圆出来,由于宽高一致所以看到的是一个圆的效果。
设置椭圆填充颜色径向渐变,
高级动画_第6张图片

这里设置的中心点是0.1到0.1,左上角进行渐变,中心点只能够到0到1之间,最大是1,最小是0,否则超出范围看不见了。
高级动画_第7张图片

接下来就要调动窗口触发器,进行动画,获取元素先找到File(设置椭圆填充色径向渐变),获取里面的中心点(GradientOrigin)。这里本身给了一个初始值0.1,0.1历时5秒之后,变成1…1
这就是我们第一个动画。
在这里插入图片描述

我们也可以操控它的颜色值,因为我们这个颜色值用的是属性集合的语法,说明有多个元素,
注意‘的是你要操控的那个元素。比如我这里要获取的是属性集合里面的第一个元素也就是黄色的圆,下标就是0.。(GradientStops) 5秒之后由黄色变成棕色。第二个也是一次以此类推,红色变成白色。第三个绿色变成黑色。时间根据自己的需要调。
高级动画_第8张图片
效果:
高级动画_第9张图片

你可能感兴趣的:(C#)