原文: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>中添加:

  1. <window. Resources>
  2. <Storyboard x:Key=”动画名字”  RepeatBehavior="Forever">
  3. <DoubleAnimation Storyboard.TargetName="名字"
  4. Storyboard.TargetProperty="变化值"
  5. From="数 " To="数 "
  6. BeginTime="XX:XX:XX"
  7. Duration="XX:XX:XX">
  1. </DoubleAnimation>
  2. <!--可以同时变化多个值。-->
  3. <DoubleAnimation Storyboard.TargetName="名字"
  4. Storyboard.TargetProperty="变化值"
  5. From="数 " To="数 "
  6. BeginTime="XX:XX:XX"
  7. Duration="XX:XX:XX">
  8. </DoubleAnimation>
  9. </Storyboard>
  10. 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)动画简单实例的更多相关文章

  1. WPF Storyboard 动画播放完毕时触发的事件

    /*故事版*/ Storyboard ClSto2; public PopUpWindow() { /*播放完毕,将当前窗体关闭*/ ClSto2.Completed += (s, e) => ...

  2. Android属性动画-简单实例

    1.ValueAnimator //在2000毫秒内,将值从0过渡到1的动画 ValueAnimator anim = ValueAnimator.ofFloat(0f, 1f); anim.setD ...

  3. WPF单线程定时器 简单实例

    //窗体加载完毕 void MyMessageBox_Loaded(object sender, RoutedEventArgs e) { //启动定时期倒计时,多线程计时 //System.Thre ...

  4. WPF 3D:简单的Point3D和Vector3D动画创造一个旋转的正方体

    原文:WPF 3D:简单的Point3D和Vector3D动画创造一个旋转的正方体 运行结果: 事实上很简单,定义好一个正方体,处理好纹理.关于MeshGeometry3D的正确定义和纹理这里就不多讲 ...

  5. WPF MvvmLight简单实例(1) 页面导航

    原文:WPF MvvmLight简单实例(1) 页面导航 实现了那些功能,先看看截图: 操作描述: 在程序运行后,点击“Load”按钮,页面会加载PageOne,点击PageOne页面中的“Next” ...

  6. wpf 创建动画三种方式

    动画类型 : 故事版,CompositionTarget,DispachTime 那么到此,三种动态创建动画的方法都已经详细介绍过了,大家可能会有种感觉,比较钟情于第一种WPF/Silverlight ...

  7. WPF利用动画实现圆形进度条

    原文:WPF利用动画实现圆形进度条 这是我的第一篇随笔,最近因为工作需要,开始学习WPF相关技术,自己想实现以下圆形进度条的效果,逛了园子发现基本都是很久以前的文章,实现方式一般都是GDI实现的,想到 ...

  8. WPF控制动画开始、停止、暂停和恢复

    1.闲言 好久也没更新一博客了,自己有点发懒,同时确实这几个月来也有点忙.风机监测软件,项目中,有这样一个小需求:正常风机在旋转的时候,上位机软要做一个风机的图片,让它不停地旋转,一但检测到下面风机停 ...

  9. Prism for WPF 搭建一个简单的模块化开发框架(六)隐藏菜单、导航

    原文:Prism for WPF 搭建一个简单的模块化开发框架(六)隐藏菜单.导航 这个实际上是在聊天之前做的,一起写了,也不分先后了 看一下效果图,上面是模块主导航,左侧是模块内菜单,现在加一下隐藏 ...

随机推荐

  1. iOS 开发之环形倒计时进度条(虚线/实线)

    代码很简单,一看便知.这里为顺时针,若想要逆时针,clockwise改为0,还需更改起始角度和终点角度. 源码地址:https://github.com/LfyDragon/CountDown 直接上 ...

  2. Python 开发者在迁移到 Go(lang) 时需要知道哪些事?

    [编者按]本文最早由 Repustate 发布,主要介绍将代码迁移至 Go(lang) 时的注意事项.文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 这是一篇讲述将大块 Pyth ...

  3. 从零自学Java-3.在程序中存储和修改变量信息

    1.创建变量: 2.使用不同类型的变量: 3.在变量中存储值: 4.在数学表达式中使用变量: 5.把一个变量的值赋给另一个变量: 6.递增/递减变量的值. 程序Variable:使用不同类型的变量并赋 ...

  4. vscode 折叠所有区域代码的快捷键

    折叠:ctrl + L    ctrl + 0(主键盘区的0,不是小键盘区的0) 展开:ctrl + K    ctrl + J 老是忘记,在此记录

  5. logger.error完整打印错误堆栈信息

    所以我们的写法可以是: Logger.error("xxx出错" , e); //第二个参数是e 而不是: Logger.error("xxx出错:" + e) ...

  6. Use Jupyter notebook on Fedora 28

    生产环境使用 Fedora 28, 并且需要搭建一个 Jupyter 的notebook 方便使用,所搭建的Jupyter 支持单人远程 密码访问 1. 安装 安装 Jupyter , 出错 [roo ...

  7. 第四次作业 重写equals方法

    使用上几次用到得User实体类,在其中重写equals方法. @Override public boolean equals(Object obj) { if(obj==null)return fal ...

  8. Mysql 5.7源码编译启动 报error问题:The server quit without updating PID file (/data/data_mysql/mysql.pid).

    一般是报error问题就是我们的mysql没有权限,这里主要是指三点:一个是mysql的安装主目录要设为mysql用户和用户组.一个是logs目录设置为mysql用户以及用户组.还有一个是data目录 ...

  9. xml的xsi:type序列化和反序列化

    最近在做HL7V3的对接,关于XML的序列化和反序列化遇到xsi:type的问题解决方法 实体类定义: public class HL7V3_ProviderOrganization { public ...

  10. 学习H5C3

    不一样的老师,不一样风格,刚开始我们都是非常热情,知道这是非常重要的,我需要坚持,加油!!!