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 搭建一个简单的模块化开发框架(六)隐藏菜单.导航 这个实际上是在聊天之前做的,一起写了,也不分先后了 看一下效果图,上面是模块主导航,左侧是模块内菜单,现在加一下隐藏 ...
随机推荐
- [Android] Linux下JNI简单实现过程
大概梳理了一下JNI的过程: start->先写好A.java文件,里面添加native方法B,调用库C.so->编译成.class文件->用javac生成.h文件,文件包含Java ...
- Maven入门详情
Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差ja ...
- 从托管映像创建 VM
可以从 Azure 中托管的 VM 映像创建多个 VM. 托管 VM 映像包含创建 VM 所需的信息,包括 OS 和数据磁盘. 构成映像的 VHD(包括 OS 磁盘和任何数据磁盘)存储为托管磁盘. 先 ...
- SQL Server FileStream (转载)
从SQL SERVER 2008开始,SQL SERVER引入了一种新的文件组类型叫FileStream文件组,如下图所示: 那么这种文件组是用来做什么的呢? 以往我们对文件管理有两种方法: 数据库只 ...
- 转:把存储过程结果集SELECT INTO到临时表
把存储过程结果集SELECT INTO到临时表 在开发过程中,很多时候要把结果集存放到临时表中,常用的方法有两种. 一. SELECT INTO 1. 使用select into会自动生成临 ...
- supervisor 使用系列之一
supervisor 使用系列之一 前几年自己用PHP写过一个服务守护的脚本,初步实现了被守护脚本的状态监控.优雅杀死.以及自动重启的功能.面试的时候也有问到,为什么不使用supervisor这个工具 ...
- fedora安装字体
#fedora安装新字体 将自己现有的字体复制到/usr/share/fonts/自己起个名字/ 例如我要安装下载的苹果苹方字体 #cp 我这个文件夹的地址/* /usr/share/fonts/Pi ...
- October 28th, 2017 Week 43rd Saturday
All I ever wanted was a single thing worth fighting for. 我想要的只不过是一件能让我奋不顾身的事业. Stop complaining the ...
- 使用ubuntu过程中遇到的问题汇总
使用ubuntu过程中遇到的问题汇总 1.使用图形界面设置免密码登录之后,改回密码登陆失效 解决方案: https://askubuntu.com/questions/211084/how-do-i- ...
- java如何对map进行排序详解(map集合的使用)
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排 ...