WPF中的渐变色动画

开发工具与关键技术:Visual Studio 2015、WPF
撰写时间:2019年6月14日

下面我们使用渐变色来做一个关键帧动画,我先布局一个网格布局,在网格布局里面定义两行,上面定义一个按钮,这个按钮是用来触发这个动画的,这个按钮用来触发在下面写好的动画,点一下按钮,这个动画就会执行一次,在下面写好了基本的样式之后,要在上面定义一个Triggers触发器来触发动画,还要写动画的执行时间,详细见下面的XAML代码:

见下面XAML代码:

<Window x:Class="动态改变画刷.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:动态改变画刷"mc:Ignorable="d"Title="MainWindow" Height="400" Width="525"> <!--离散的关键帧动画--><!--定义触发器--><Window.Triggers><EventTrigger RoutedEvent="Button.Click" SourceName="btn1"><EventTrigger.Actions><BeginStoryboard><Storyboard Storyboard.TargetName="Yuan" Storyboard.TargetProperty="Fill.GradientOrigin"><PointAnimationUsingKeyFrames><!--定义动画的运动时间--><DiscretePointKeyFrame Value="0.2,0.8" KeyTime="0:0:1"/><DiscretePointKeyFrame Value="0.7,0.8" KeyTime="0:0:2"/><DiscretePointKeyFrame Value="0.3,0.2" KeyTime="0:0:3"/></PointAnimationUsingKeyFrames></Storyboard></BeginStoryboard></EventTrigger.Actions></EventTrigger></Window.Triggers><!--网格布局--><Grid><!--定义两行--><Grid.RowDefinitions><RowDefinition/><RowDefinition Height="3*"/></Grid.RowDefinitions><!--定义一个按钮--><Button Name="btn1" Content="点击进行关键帧动画" Width="150"  Margin="10" Background="AliceBlue" Height="50" FontFamily="华文彩云" Foreground="Red" FontSize="15"/><!--定义一个渐变色动画--><Ellipse Name="Yuan" Grid.Row="1" Width="180" Height="180"><Ellipse.Fill><RadialGradientBrush><RadialGradientBrush.GradientStops><GradientStop Color="Red" Offset="0.2"/><GradientStop Color="Yellow" Offset="0.4" /><GradientStop Color="Gray" Offset="0.6"/><GradientStop Color="Khaki" Offset="0.8"/></RadialGradientBrush.GradientStops></RadialGradientBrush></Ellipse.Fill></Ellipse></Grid>
</Window>

在下面的效果截图中看到,图1是还没有开始动画的,点击按钮下面的的动画才会触发,图2是触发动画之的效果,中心点它会沿圆的四个角进行关键帧动画:
见下面效果截图:

图(1)


图(2)
上面的动画会进行4次动画,每一次中心点都会在不同的角度。

WPF中的渐变色动画相关推荐

  1. WPF中播放Flash动画

    WPF本身不直接支持播放Flash动画,需要做点"设计",下面是示例(嵌入WPF窗口播放). 1.首先在VS2010中建立项目.打开VS2010后选择"文件"- ...

  2. WPF中创建水晶动画效果的treeview控件

    软件开发中常常会用到treeview之类的导航菜单,如何使我们的菜单更具有视觉冲击力和动感呢,wpf可以帮我们轻易实现,下面我将使用blend来创建一个treeview动画效果资源. 首先我们在ble ...

  3. WPF中的动画——(二)From/To/By 动画

    原文:WPF中的动画--(二)From/To/By 动画 我们所实现的的动画中,很大一部分是让一个属性在起始值和结束值之间变化,例如,我在前文中实现的改变宽度的动画: var widthAnimati ...

  4. WPF中的动画——(二)From/To/By 动画(二)

    WPF中的动画--(二)From/To/By 动画 我们所实现的的动画中,很大一部分是让一个属性在起始值和结束值之间变化,例如,我在前文中实现的改变宽度的动画: var widthAnimation ...

  5. WPF中的动画——(一)基本概念

    原文:WPF中的动画--(一)基本概念 WPF的一个特点就是支持动画,我们可以非常容易的实现漂亮大方的界面.首先,我们来复习一下动画的基本概念.计算机中的动画一般是定格动画,也称之为逐帧动画,它通过每 ...

  6. 【WPF学习笔记】[转]周银辉之WPF中的动画 晓风影天之wpf动画——new PropertyPath属性链...

    (一)WPF中的动画 动画无疑是WPF中最吸引人的特色之一,其可以像Flash一样平滑地播放并与程序逻辑进行很好的交互.这里我们讨论一下故事板. 在WPF中我们采用Storyboard(故事板)的方式 ...

  7. WPF中自动增加行(动画)的TextBox

    WPF中自动增加行(动画)的TextBox 原文:WPF中自动增加行(动画)的TextBox WPF中自动增加行(动画)的TextBox WPF中的Textbox控件是可以自动换行的,只要设置Text ...

  8. WPF中的动画——(三)时间线(TimeLine)

    WPF中的动画--(三)时间线(TimeLine) 原文:WPF中的动画--(三)时间线(TimeLine) 时间线(TimeLine)表示时间段. 它提供的属性可以让控制该时间段的长度.开始时间.重 ...

  9. WPF中对三维模型的控制

    原文:WPF中对三维模型的控制 (以下选自南开大学出版社出版的<WPF和Silverlight教程>) 3Dmax中的建模模型可以导出为obj文件格式,将此文件导入WPF项目中,由WPF完 ...

最新文章

  1. 绿色数据中心空调技术研讨会福州召开
  2. 用于检测AC电压的无接触电压检测器
  3. ROW_NUMBER() OVER函数的基本用法用法
  4. Eclipse新建工程编译R cannot be resolved to a variable问题
  5. 【转】malloc函数实现原理!
  6. python做数据可视化的代码_Python数据可视化正态分布简单分析及实现代码
  7. mysql sp who_对ASE系统存储过程的剖析-sp_who
  8. python填表_小Python填表得到d
  9. leetcode509. 斐波那契数(矩阵快速幂)
  10. android 评分条 RatingBar 使用及自定义
  11. 反射与特性与Tool编写
  12. Failed to start SYSV: NGINX is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server.
  13. 漏斗模型被营销大师们玩烂了
  14. 客户端程序员的工具们
  15. ImageSpan 不显示或者变小
  16. 实战八:美国人口普查数据进行收入预测分类
  17. 十二个“一”的演义小故事
  18. 从3dMax导出供threeJS使用的带动作模型与加载(认真修改详尽版)
  19. 电位移矢量法向向量连续性证明
  20. Pytorch环境下微调BERT以及调参教程

热门文章

  1. ES面试问题和入门资料
  2. 关于数据库的内模式、模式、外模式,数据的逻辑独立性,数据的物理独立性的个人体会
  3. 点滴:python数据集的文本标签转换成数值
  4. 一个技术创业者的自白:你为什么想创业?
  5. 想做好物流成本控制,得秉承这个思路
  6. 网络规划师上午备考知识点(一)(万能协议篇)
  7. GB/T28181-2022协议版本标识X-GB-Ver解读
  8. CDH交换内存警告解决方法
  9. day04-判断和循环
  10. 有了群晖怎么玩,分享一下我的群晖中运行的服务