WPF中的渐变色动画
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中的渐变色动画相关推荐
- WPF中播放Flash动画
WPF本身不直接支持播放Flash动画,需要做点"设计",下面是示例(嵌入WPF窗口播放). 1.首先在VS2010中建立项目.打开VS2010后选择"文件"- ...
- WPF中创建水晶动画效果的treeview控件
软件开发中常常会用到treeview之类的导航菜单,如何使我们的菜单更具有视觉冲击力和动感呢,wpf可以帮我们轻易实现,下面我将使用blend来创建一个treeview动画效果资源. 首先我们在ble ...
- WPF中的动画——(二)From/To/By 动画
原文:WPF中的动画--(二)From/To/By 动画 我们所实现的的动画中,很大一部分是让一个属性在起始值和结束值之间变化,例如,我在前文中实现的改变宽度的动画: var widthAnimati ...
- WPF中的动画——(二)From/To/By 动画(二)
WPF中的动画--(二)From/To/By 动画 我们所实现的的动画中,很大一部分是让一个属性在起始值和结束值之间变化,例如,我在前文中实现的改变宽度的动画: var widthAnimation ...
- WPF中的动画——(一)基本概念
原文:WPF中的动画--(一)基本概念 WPF的一个特点就是支持动画,我们可以非常容易的实现漂亮大方的界面.首先,我们来复习一下动画的基本概念.计算机中的动画一般是定格动画,也称之为逐帧动画,它通过每 ...
- 【WPF学习笔记】[转]周银辉之WPF中的动画 晓风影天之wpf动画——new PropertyPath属性链...
(一)WPF中的动画 动画无疑是WPF中最吸引人的特色之一,其可以像Flash一样平滑地播放并与程序逻辑进行很好的交互.这里我们讨论一下故事板. 在WPF中我们采用Storyboard(故事板)的方式 ...
- WPF中自动增加行(动画)的TextBox
WPF中自动增加行(动画)的TextBox 原文:WPF中自动增加行(动画)的TextBox WPF中自动增加行(动画)的TextBox WPF中的Textbox控件是可以自动换行的,只要设置Text ...
- WPF中的动画——(三)时间线(TimeLine)
WPF中的动画--(三)时间线(TimeLine) 原文:WPF中的动画--(三)时间线(TimeLine) 时间线(TimeLine)表示时间段. 它提供的属性可以让控制该时间段的长度.开始时间.重 ...
- WPF中对三维模型的控制
原文:WPF中对三维模型的控制 (以下选自南开大学出版社出版的<WPF和Silverlight教程>) 3Dmax中的建模模型可以导出为obj文件格式,将此文件导入WPF项目中,由WPF完 ...
最新文章
- 绿色数据中心空调技术研讨会福州召开
- 用于检测AC电压的无接触电压检测器
- ROW_NUMBER() OVER函数的基本用法用法
- Eclipse新建工程编译R cannot be resolved to a variable问题
- 【转】malloc函数实现原理!
- python做数据可视化的代码_Python数据可视化正态分布简单分析及实现代码
- mysql sp who_对ASE系统存储过程的剖析-sp_who
- python填表_小Python填表得到d
- leetcode509. 斐波那契数(矩阵快速幂)
- android 评分条 RatingBar 使用及自定义
- 反射与特性与Tool编写
- Failed to start SYSV: NGINX is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server.
- 漏斗模型被营销大师们玩烂了
- 客户端程序员的工具们
- ImageSpan 不显示或者变小
- 实战八:美国人口普查数据进行收入预测分类
- 十二个“一”的演义小故事
- 从3dMax导出供threeJS使用的带动作模型与加载(认真修改详尽版)
- 电位移矢量法向向量连续性证明
- Pytorch环境下微调BERT以及调参教程