wpf中的所有动画都能用blend实现吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf中的所有动画都能用blend实现吗相关的知识,希望对你有一定的参考价值。
差不多吧本章节的动画虽然简单,但是实现的效果可是一点也不打折。
开始我们今天的阳光灿烂。大家觉的好的帮忙推荐下,谢谢了。不懂的随时欢迎提问。
很多人都说自己美工不行,做不出来,其实你自己做了就会发现不是那么难,我的配色方案都给出了,自己试一下挺简单的。
我们的目标是没有代码,偶也!
1.在part文件夹中新建一个usercontrol,命名为sun。
2.在最外面的布局grid上面右击,将grid转变为canvas。
3.选择椭圆工具,按住shift键画一个圆。使用渐变填充(径向渐变)。(0%出颜色#FFF6EB08,42.7%处颜色#FFFAEF0C,84.7%处颜色#FFFAAD0A)
4.选择渐变方向工具,对圆的渐变调整。适当调整位置。
5.添加阴影效果。在effect后面点击NEW新建。按照下图设置属性。
6.为stroke选择纯色画刷。
7.选择钢笔工具,绘制太阳的光芒。用钢笔工具绘制路径,使用线性渐变填充。去掉stroke。
8.使用选择工具,选中路径,出现边框以后将中间的点拉到圆心
9.调整好以后复制路径17次。然后选择路径的angle属性,每个路径增加20.17个路径都设置后正好将圆围城一个圈。
10.将18条路径选中,右击合并路径。
11.选择渐变工具,设置渐变方向,并将线性渐变改为径向渐变。
我设置的渐变数据,参考下。
12.在此使用钢笔工具画一个比刚才路径大点的路径。步骤与上一个路径相同。画路径,设置渐变画刷,渐变方式改为线性渐变,使用渐变工具调整位置。(将我们前一个完成的路径隐藏)
13.然后开始重复第8-10步的步骤,做成如下形状。
14.将路径的线性渐变改为径向渐变。然后使用渐变工具,调整渐变。
我用的渐变值
15.转动第二个路径,调整位置形成以下形状。
16.基本工作完成后,开始我们的动画。今天的动画是stroybroad.新建stroybroad,命名为movesun。
17.按F6进入动画模式。
18.选中第一个路径,然后再属性面板的transform类别中设置如下图属性(只要设置projection中的z的值为180就好了)
19.选中第二个路径,然后重复18的步骤。
20.你现在可以按播放键预览以下了,是不是有阳光闪动的感觉了。
21.选中movesun,在右边的属性面板中设置repeatbehavior属性为forever。
21.最后一步,让动画执行。在projects中打开sun.xaml.cs文件,加一句代码,让动画执行。
22.完工,修改APP中的执行文件查看下效果吧,是不是很帅了,阳光灿烂……
好了本章结束了,谢谢大家的支持,期待下回合吧。 参考技术A 是
Blend For VS2017的使用简述(上)
在编写WPF控件时,有一些动画效果及模板样式我们凭着想象或仅从别人那里Copy的代码在达到的效果上可能不尽如意。在Blend中可以较为直观的去实现。下面我将对Blend分为三部分进行讲解:动画、视觉管理、模板。本文为实用性简述。
一、动画
继承自:System.Windows.Media.Animation.TimeLine
该类有以下属性:
1.AutoReverse 类型:bool true:正序运行一次反序运行一次
2.BeginTime Nullable<TimeSpan> null:无起始时间点
3.Duration System.Window.Duration 动画的运行周期 0:0:5 五秒
4.FillBehavior Animation.FillBehavior 获取或设置一个值,指定运动结束的行为方式 默认HoleEnd;Stop则相反,不保留结束值
5.RepeatBehavior Animation.RepeatBehavior 重播次数 如果设置RepeatBehavior.Count=1.5x(x是倍数的含义,又称迭代),该动画将完整的运行一次,然后在运行一 半动画。
6.SpeedRatio属性 Double 该属性用来控制动画速率,默认为1.0.如果设置速率大于1.0,则动画速度会变快,反之,动画速度会变慢
原理
动画分类
1.From/To/By动画,根据处理的数据类型分为 :DoubleAnimation、ColorAnimation、PointAnimation
2.关键帧动画:关键帧和动画控制 。关键帧:在某一点控制属性;动画控制:控制动画过渡效果:Linear/Diacrete/Spline
根据处理的数据类型分为:DoubleAnimationUsingKeyFrames、ColorAnimationUsingKeyFrames、 PointAnimationUsingKeyFrames、ObjectAnimationUsingKeyFrames
blend操作
StoryBoard:管理时间线的类。功能:管理和控制动画进程;为动画指定控件及控件属性
面板:【对象和时间线】>> 点击+号,新建StoryBoard>>在【属性面板】中设置控件属性及控件下一层RenderTransform运动轨迹
二、视觉管理器
xmal代码中的样式及在不同状态下的样式设计。
Blend 操作
1.【对象和时间线】面板》》选中控件右键 》编辑模板副本...
2.【状态】面板 》选中状态》【属性】面板中添加不同状态的过渡样式
三、模板
Style和ControlTemplate
Blend操作
Style:
新建:编辑模板》》资源字典 》设置各项属性及不同状态的样式
在其他控件上应用:选中控件》》编辑模板》》应用资源
ControlTemplate:待续
以上是关于wpf中的所有动画都能用blend实现吗的主要内容,如果未能解决你的问题,请参考以下文章
WPF和Expression Blend开发实例:充分利用Blend实现一个探照灯的效果
Silverlight & Blend动画设计系列四:倾斜动画(SkewTransform)
Expression Blend实例中文教程 - 行为快速入门Behaviors