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 搭建一个简单的模块化开发框架(六)隐藏菜单.导航 这个实际上是在聊天之前做的,一起写了,也不分先后了 看一下效果图,上面是模块主导航,左侧是模块内菜单,现在加一下隐藏 ...
随机推荐
- 【jdk源码3】HashMap源码学习
可以毫不夸张的说,HashMap是容器类中用的最频繁的一个,而Java也对它进行优化,在jdk1.7及以前,当将相同Hash值的对象以key的身份放到HashMap中,HashMap的性能将由O(1) ...
- go语言练习:类型转换
package main import "fmt" func main() { var a int var b uint var c float32 var d float64 a ...
- LeetCode题解之Largest Number
1.题目描述 2. 将整数值转换为string ,然后排序. 3.代码 string largestNumber(vector<int>& nums) { vector<s ...
- python新生类和经典类简单说明
经典类: #!/usr/bin/env python #*-* coding:utf-8 *-* class A(): def __init__(self): print 'my name is GF ...
- 使用 Visual Studio Team Services 和 IIS 创建持续集成管道
若要将应用程序开发的生成.测试和部署阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure 中使用 Visual Studio Team Services 和 Win ...
- python自学——文件处理(截取文件内容)
#截断文件内容使用的函数为truncate()来截断文件中的内容# 注意当truncate()括号内没有定义对象时则会删除文件内容:当括号内为指定某个条件时文件会截取从0到指定位置的内容f=open( ...
- 关于MSCOMM.OCX无法正常注册的问题解决
[问题] 关于“Component'MSCOMM32.OCX'or one of its dependencies not correctly registered: afole is missing ...
- elasticsearch之JAVA环境变量报错:could not find java; set JAVA_HOME or ensure java is in PATH
在以RPM包安装elasticsearch过程中出现报错JAVA环境的问题: ● elasticsearch.service - Elasticsearch Loaded: loaded (/usr/ ...
- 【Alpha go】Day 2!
[Alpha go]Day 2! Part 0 · 简要目录 Part 1 · 项目燃尽图 Part 2 · 项目进展 Part 3 · 站立式会议照片 Part 4 · Scrum 摘要 Part ...
- sqlserver 镜像 断开连接 正在恢复+主机服务器关机用备用镜像
如果主机坏了断开连接就用备机的镜像数据库 --主备互换,备机sql命令 USE master; ALTER DATABASE test SET PARTNER FORCE_SERVICE_ALLO ...