WPF中实现动画的几种效果(最基础方式)
参考网址:https://blog.csdn.net/qq_45096273/article/details/106256397
在动画之前我们先了解一下几个声明式动画中常用的元素:
一.Storyboard:故事板,是BeginAnimation()方法的XAML等价物,通过故事板将动画指定到合适的元素和属性,故事板是增强的时间线,可以用来分组多个动画,Storyboard类提供的最基本的功能是使用TargetName和TargetProperty属性指向某个特定的元素和属性;
二.DoubleAnimation:线性类插入两个目标值之间的**double**属性值进行处理,也就是线性插入;
1.TranslateTransform:实现动画的平移效果;
//动画平移
Storyboard sb = new Storyboard();//实例化一个故事版
first.RenderTransform = new TranslateTransform(0, 0);//设置转换元素的位置息
DoubleAnimation yun = new DoubleAnimation();//实例化double对动画值的理
yun.By = 50;//动画改变值的范围
yun.RepeatBehavior = RepeatBehavior.Forever;//设置无限次播放动画
yun.Duration = TimeSpan.FromMilliseconds(5000);//设置动画时间
yun.AutoReverse = true;//设置可以反转
Storyboard.SetTarget(yun, first);//绑定动画
Storyboard.SetTargetProperty(yun, new PropertyPath("Width"));//动画依赖的性
sb.Children.Add(yun);//添加动画
sb.Begin();//播放动画
XMl 代码

2.RotateTransform:实现动画的旋转效果
//动画旋转
var sun = new DoubleAnimation()//声明一个动画对象
{
From = 0,//动画初始角度
To = 1800,//动画的结束值
Duration = new Duration(TimeSpan.Parse("0:0:10"))//设置动画花费的时间
};
sun.RepeatBehavior = RepeatBehavior.Forever;//设置动画无限次播放
taiyang.BeginAnimation(RotateTransform.AngleProperty, sun);//添加动画
XAML代码:
<Image RenderTransformOrigin="0.445,0.526" Height="100" Canvas.Right="10" Canvas.Top="-16" Width="100" Source="太阳.png" Canvas.Left="0">
<Image.RenderTransform>
<RotateTransform Angle="0" x:Name="taiyang">//angle为角度值
</RotateTransform>
</Image.RenderTransform>
</Image>

3.动画远近实现,改变其的宽度:
//动画远近实现
DoubleAnimation tree = new DoubleAnimation();//实例化线性对动画的处理
tree.From = xin.ActualHeight;//动画的起始值
tree.To = xin.ActualHeight - 50;//动画的结束值
tree.RepeatBehavior = RepeatBehavior.Forever;//动画无限播放次数
tree.Duration = TimeSpan.FromSeconds(5);//动画播放的时间
tree.AutoReverse = true;//动画的反转
xin.BeginAnimation(Image.HeightProperty, tree);//添加动画
xml代码
<Image RenderTransformOrigin="0.5,0.5" Name="xin" Height="100" Canvas.Left="345" Canvas.Top="225" Width="100" Source="心.png">//Source指向图片
</Image>
效果图:(远近实现之前与之后)
4.ScaleTransform:动画的缩放
<Image Name="shu" Height="239" Canvas.Top="122" Width="173" Source="大树.png" Canvas.Left="-31">
<Image.RenderTransform>
<ScaleTransform ScaleX="1.5" ScaleY="1.5" >//ScaleX:为X轴的缩放,ScaleY:为Y轴的缩放
</ScaleTransform>
</Image.RenderTransform>
</Image>
效果图:(缩放实现之前与之后)

WPF中实现动画的几种效果(最基础方式)的更多相关文章
- WPF中的动画
动画无疑是WPF中最吸引人的特色之一,其可以像Flash一样平滑地播放并与程序逻辑进行很好的交互.这里我们讨论一下故事板. 在WPF中我们采用Storyboard(故事板)的方式来编写动画,为了对St ...
- 【WPF学习笔记】[转]周银辉之WPF中的动画 && 晓风影天之wpf动画——new PropertyPath属性链
(一)WPF中的动画 动画无疑是WPF中最吸引人的特色之一,其可以像Flash一样平滑地播放并与程序逻辑进行很好的交互.这里我们讨论一下故事板. 在WPF中我们采用Storyboard(故事板)的方式 ...
- [转]WPF中的动画
WPF中的动画 周银辉 动画无疑是WP ...
- WPF中的动画——(三)时间线(TimeLine)
WPF中的动画——(三)时间线(TimeLine) 时间线(TimeLine)表示时间段. 它提供的属性可以让控制该时间段的长度.开始时间.重复次数.该时间段内时间进度的快慢等等.在WPF中内置了如下 ...
- 在WPF中使用PlaneProjection模拟动态3D效果
原文:在WPF中使用PlaneProjection模拟动态3D效果 虽然在WPF中也集成了3D呈现的功能,在简单的3D应用中,有时候并不需要真实光影的3D场景.毕竟使用3D引擎会消耗很多资源,有时候使 ...
- WPF中,如何将Vista Aero效果扩展到整个窗口
原文:WPF中,如何将Vista Aero效果扩展到整个窗口 WPF中,如何将Vista Aero效果扩展到整个窗口 ...
- (转载)WPF中的动画——(一)基本概念
http://www.cnblogs.com/TianFang/p/4050845.html WPF的一个特点就是支持动画,我们可以非常容易的实现漂亮大方的界面.首先,我们来复习一下动画的基本概念.计 ...
- WPF中的动画——(一)基本概念
WPF的一个特点就是支持动画,我们可以非常容易的实现漂亮大方的界面.首先,我们来复习一下动画的基本概念.计算机中的动画一般是定格动画,也称之为逐帧动画,它通过每帧不同的图像连续播放,从而欺骗眼和脑产生 ...
- WPF中的动画——(五)关键帧动画
与 From/To/By 动画类似,关键帧动画以也可以以动画形式显示目标属性值. 和From/To/By 动画不同的是, From/To/By 动画只能控制在两个状态之间变化,而关键帧动画则可以在多个 ...
随机推荐
- WPF之花式控件功能扩展
文章默认你已经入门WPF了 WPF日常开发,经常遇到默认的控件功能不满足需求,怎么办? No1. 自定义控件模板 平时开发中,经常遇到比较"俗"的需求,嫌弃控件默认的样子. ...
- C语言:预处理 编译过程分解 证明图
- 『与善仁』Appium基础 — 3、ADB命令介绍
目录 1.ADB命令简介 2.ADB命令运行原理 3.通过ADB命令连接安卓模拟器 (1)安装安卓模拟器 (2)ADB命令连接安卓模拟器 (3)常用Android模拟器端口号 1.ADB命令简介 AD ...
- 案例分享:Qt+Arm基于RV1126平台的内窥镜软硬整套解决方案(实时影像、冻结、拍照、录像、背光调整、硬件光源调整,其他产品也可使用该平台,如视频监控,物联网产品等等)
自研产品系列方案 1. 基于瑞芯微的 RV1126 芯片平台: 2. 外接 USB 摄像头(OV9734. OV6946.OV2740 等 UVC 模块)作为图像输入源: 3. 可通过 LED ...
- Java基础00-运算符4
1. 算术运算符 1.1 运算符和表达式 1.2 算数运算符 余数的计算取余数是指整数除法中被除数未被除尽部分,且余数的取值范围为0到除数之间(不包括除数)的整数 ,例如27除以6,商数为4,余数为3 ...
- 使用python对工作簿每个sheet表进行数据可视化展示(本案例是从第2个sheet开始循环读取也就是索引为1的表)
# 导入相关模块from pyecharts.charts import Barfrom pyecharts import options as optsfrom pyecharts.charts i ...
- java并发编程基础——线程相关的类
线程相关类 java还为线程安全提供了一些工具类. 一.ThreadLocal类(Thread Local Variable) ThreadLocal类,是线程局部变量的意思.功用非常简单,就是为每一 ...
- elasticsearch常见错误及解决方案
1.OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, th ...
- python + Excel数据读取(更新)
data.xlsx 数据如下: import xlrd#1.读取Excel数据# table = xlrd.open_workbook("data.xlsx","r&qu ...
- POJ3662
poj3662 大意:n个点p条边的无向图,求在删去k条边后使1和n号点联通路径上的最长边最小值. 一开始理解错题意以为是分层图求最短路径,结果写完发现k太大了发现事情没有那么简单(讨厌英语题面!) ...