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)

WPF特效-鱼游动动画3

Expression Blend实例中文教程 - 行为快速入门Behaviors

Silverlight & Blend动画设计系列四:倾斜动画(SkewTransform)

使用Blend设计出符合效果的WPF界面