Wpf(Storyboard)动画简单实例
动画的三种变换方式
RotateTransform:旋转变换变化值:CenterX围绕转的圆心横坐标
CenterY纵坐标
Angle旋转角度(角度正负表示方向)
ScaleTransform:缩放变换变化值:ScaleX横向放大倍数 ScaleY纵向(负值时翻转)
TranslateTransform:平移变换变化值: X横坐标 Y纵坐标
其中
<Image.Projection> 后多了三种变化值,RotationX,RotationY,RotationZ分别围绕X Y Z轴转(单位度数)可以通过设置定时器来实现动画。
<控件.RenderTransform>
<变换方式x:Name = “名字”></变换方式>
</控件.RenderTransform >
在Wpf下使用:
在xaml <window></winodw>中添加:
- <window. Resources>
- <Storyboard x:Key=”动画名字” RepeatBehavior="Forever">
- <DoubleAnimation Storyboard.TargetName="名字"
- Storyboard.TargetProperty="变化值"
- From="数 " To="数 "
- BeginTime="XX:XX:XX"
- Duration="XX:XX:XX">
- </DoubleAnimation>
- <!--可以同时变化多个值。-->
- <DoubleAnimation Storyboard.TargetName="名字"
- Storyboard.TargetProperty="变化值"
- From="数 " To="数 "
- BeginTime="XX:XX:XX"
- Duration="XX:XX:XX">
- </DoubleAnimation>
- </Storyboard>
- ndows. Resources>
在程序调用位置中添加(一般在窗口加载方法中添加)运行动画
Storyboard sbd = Resources["动画名字"]asStoryboard;
sbd.Begin();
注意区分这里的名字和动画名字是不同的。一般名字是控件的名字。
RepeatBehavior获取或设置此时间线的重复行为。Forever循环动画
DoubleAnimation它在指定的持续时间内将动画从指定的起始值继续到指定的目标值。
From,To 动画开始到结束变化的值
BeginTime,Duration动画开始到结束所用时间
DoubleAnimation中的值:
AutoReverse="True/False"
是否播放结束后倒序播放,例如:一朵云从左往右飘然后再从右往左飘回来
下面方式实例:
控件部分:
<Image Source="Images/cloud.png" Width="190" Height="50" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="20,20,0,0">
<Image.RenderTransform>
<TranslateTransform x:Name="cloud"></TranslateTransform>
</Image.RenderTransform>
</Image>
动画部分:
<Window.Resources>
<Storyboard x:Key="sbCloud" RepeatBehavior="Forever">
<DoubleAnimation Storyboard.TargetName="cloud"
Storyboard.TargetProperty="X"
From="0" To="280"
BeginTime="00:00:00"
Duration="00:00:10">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="cloud"
Storyboard.TargetProperty="Y"
From="0" To="30"
BeginTime="00:00:00"
Duration="00:00:10">
</DoubleAnimation>
</Storyboard>
</Window.Resources>
Wpf(Storyboard)动画简单实例的更多相关文章
- WPF Storyboard 动画播放完毕时触发的事件
/*故事版*/ Storyboard ClSto2; public PopUpWindow() { /*播放完毕,将当前窗体关闭*/ ClSto2.Completed += (s, e) => ...
- Android属性动画-简单实例
1.ValueAnimator //在2000毫秒内,将值从0过渡到1的动画 ValueAnimator anim = ValueAnimator.ofFloat(0f, 1f); anim.setD ...
- WPF单线程定时器 简单实例
//窗体加载完毕 void MyMessageBox_Loaded(object sender, RoutedEventArgs e) { //启动定时期倒计时,多线程计时 //System.Thre ...
- WPF 3D:简单的Point3D和Vector3D动画创造一个旋转的正方体
原文:WPF 3D:简单的Point3D和Vector3D动画创造一个旋转的正方体 运行结果: 事实上很简单,定义好一个正方体,处理好纹理.关于MeshGeometry3D的正确定义和纹理这里就不多讲 ...
- WPF MvvmLight简单实例(1) 页面导航
原文:WPF MvvmLight简单实例(1) 页面导航 实现了那些功能,先看看截图: 操作描述: 在程序运行后,点击“Load”按钮,页面会加载PageOne,点击PageOne页面中的“Next” ...
- wpf 创建动画三种方式
动画类型 : 故事版,CompositionTarget,DispachTime 那么到此,三种动态创建动画的方法都已经详细介绍过了,大家可能会有种感觉,比较钟情于第一种WPF/Silverlight ...
- WPF利用动画实现圆形进度条
原文:WPF利用动画实现圆形进度条 这是我的第一篇随笔,最近因为工作需要,开始学习WPF相关技术,自己想实现以下圆形进度条的效果,逛了园子发现基本都是很久以前的文章,实现方式一般都是GDI实现的,想到 ...
- WPF控制动画开始、停止、暂停和恢复
1.闲言 好久也没更新一博客了,自己有点发懒,同时确实这几个月来也有点忙.风机监测软件,项目中,有这样一个小需求:正常风机在旋转的时候,上位机软要做一个风机的图片,让它不停地旋转,一但检测到下面风机停 ...
- Prism for WPF 搭建一个简单的模块化开发框架(六)隐藏菜单、导航
原文:Prism for WPF 搭建一个简单的模块化开发框架(六)隐藏菜单.导航 这个实际上是在聊天之前做的,一起写了,也不分先后了 看一下效果图,上面是模块主导航,左侧是模块内菜单,现在加一下隐藏 ...
随机推荐
- MVC与单元测试实践之健身网站(一)-项目概述
前不久刚刚通过租房网站的开发学习了MVC,并随后学习了单元测试相关的基础,现在开始健身网站的开发,该项目将结合MVC与单元测试,在开发实践过程中,趁热打铁,巩固并运用之前的内容. 一 健身网站功能描述 ...
- DOS中的ECHO命令详解
1. 作为控制批处理命令在执行时是否显示命令行自身的开关 格式:ECHO [ON|OFF] 如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”. 2. 显示当前ECHO ...
- 对WebSocket技术的学习与探索(二)
近日重新开始学习WebSocket技术,什么是WebSocket,在<对WebSocket技术的学习与探索(一)>文章中已经说明白了,还没理解可以看看这篇文章http://www.ruan ...
- PHP多进程编之pcntl_fork
其实PHP是支持并发的,只是平时很少使用而已.平时使用最多的应该是使用PHP-FMP调度php进程了吧. 但是,PHP的使用并不局限于做Web,我们完全也可以使用PHP来进行系统工具类的编程,做监控或 ...
- Postsharp基本用法——方法、属性拦截与异常处理
以下Demo代码基于 .NET Core 演示了Postsharp的基本使用方法,稍作修改(反射部分有些许差异)也适用于.NET Framework. 更多高级使用方法详见官方文档.http://sa ...
- C#-老生常谈的 值类型与引用类型
特殊的String 说起值类型和引用类型,大家都知道这么个事,很多时候我们会拿String做值类型来做比较,但实际上String虽然是值类型,却表现的有点特别 String示例 看下面的一个例子: 话 ...
- [Spark SQL_3] Spark SQL 高级操作
0. 说明 DataSet 介绍 && Spark SQL 访问 JSON 文件 && Spark SQL 访问 Parquet 文件 && Spark ...
- leetcode 6. ZigZag Conversion [java]
自己写的: if(numRows == 1) return s; int ll = s.length() / 2 + 1; Character tc[] = new Character[numRows ...
- Swift Package Manager(一)初探
一句话:Swift Package Manager(swift包管理器,简称:SPM)就是在swift开发中用来替代CocoaPod的:在swift开发中,SPM完全可以替代CocoaPod的功能,并 ...
- [SDOI2008]洞穴勘测
嘟嘟嘟 写完lct的板儿后觉得这就是一道大水题. 连pushup都不用. 不过还是因为一个zz的错误debug了一小会儿(Link的时候连出自环--) 还有一件事就是Cut的时候判断条件还得加上,因为 ...