最近在用WPF做简单动画,以下是几点经验总结:

1. 使用DispatcherTimer做动画

  VB6的年代大家就用Timer做动画了,不用多解释,这个DispatcherTimer和本身的Timer区别是它和UI线程在一起,简单说就是可以在Tick里面更改UI内容,另外貌似时间间隔比Timer准一些。。。没证实过

  适用范畴:计时器,表,固定时间刷新的数据板

2. 使用Animation和StoryBoard做动画

  这个高端大气上档次,首先它硬件无关,其次平滑可人。比如用timer移动一个button,每秒挪100像素,这看上去就是一个跳动前进的过程,但是用Animation挪动就会十分平滑,而且用人类语言描述也更好理解,FromTo啊,Begin啊,特别的贴心。Storyboard则是配合Animation使用从而实现更复杂的控制。

  适用范畴:UI效果,人机互动增强效果

3. 使用基于帧的动画

  一开始我还真没懂,后来看的多了才明白原来就是ownerDraw循环啊,简单的说就是有一个循环它在不停往UI上刷,你想画什么就往这个循环里面放即可。每秒默认刷60下,当然可以配置成其他数字,这个和硬件性能有关系,所以不同的机器效果不同要注意。这种方式可以最为精准的控制每一个细节,对应的缺点则是操作起来更麻烦。

  适用范畴:游戏,绘图软件交互

暂时就学到这么多,以后有了想法再添加。

WPF动画的几种模式的更多相关文章

  1. iOS中图片动画的三种模式及基本的代码实现

    -(void)play { //第一种图片动画模式 头尾方式 //头尾方式 [UIView beginAnimations:nil context:nil];//动画开始 [UIView setAni ...

  2. WPF Binding(四种模式)

    在使用Binding类的时候有4中绑定模式可以选择 BindingMode TwoWay 导致对源属性或目标属性的更改可自动更新对方.此绑定类型适用于可编辑窗体或其他完全交互式 UI 方案. OneW ...

  3. 安卓开机logo和开机动画的几种实现方法

    安卓4.2可用方法2-4,第一种方法未验证. 从理论上来说,android 有4个开机启动画面. 第一个应该是U-BOOT的启动画面,有些设备为了满足按动电源即有显示,在UBOOT里加了开机画面,实现 ...

  4. WPF编程,通过Path类型制作沿路径运动的动画另一种方法。

    原文:WPF编程,通过Path类型制作沿路径运动的动画另一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/d ...

  5. WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法。

    原文:WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/articl ...

  6. WPF动画基础及实例

    1.介绍 在之前做winform中, 也做过一些动画效果, 但是整个动画都需要我们自己去编写, 利用计时器或线程去直接操作UI元素的属性, 然而在WPF中, 则是通过一种全新的基于属性的动画系统, 改 ...

  7. silverlight,WPF动画终极攻略之白云飘,坐车去旅游篇(Blend 4开发)

    原文:silverlight,WPF动画终极攻略之白云飘,坐车去旅游篇(Blend 4开发) 这章有点长,所以我分成了两章.这一章主要是准备工作,差不多算美工篇吧,这章基本不会介绍多少动画效果,主要讲 ...

  8. 扩展 WPF 动画类

    原文:扩展 WPF 动画类 扩展 WPF 动画类                                                                     Charles ...

  9. WPF 动画:同为控件不同命 - 简书

    原文:WPF 动画:同为控件不同命 - 简书 1. 及格与优秀 读大学的时候,有一门课的作业是用 PPT 展示. 但是我们很多同学都把 PPT 当做 Word 来用,就单纯地往里面堆文字. 大家都单纯 ...

随机推荐

  1. SM4算法的c++实现

    百度到的论文已给出算法. flag为1为解密,flag为0是加密. #include<bits/stdc++.h> using namespace std; typedef long lo ...

  2. Visual Studio的输出窗口上输出调试信息的函数

    Visual Studio的输出窗口上输出文字的函数 参考网站:http://www.voidcn.com/blog/u011808175/article/p-2083567.html 当你编写非控制 ...

  3. R语言简单作图

    以下函数只为满足常用的若干作图需求. 基本作图: plot(x).plot(x, y) #散点图,最多两个变量     #可使用参数type生成不同的效果图.常用'l'.'o'.'h',分别为折线图, ...

  4. unreal3控制台窗口属性调整

    在windows平台上,unreal3的console窗口类是FOutputDeviceConsoleWindows 启动时,它可以从XXXGame.ini中读取诸如窗口大小之类的属性,具体的代码在 ...

  5. CodeForces 492E Vanya and Field (思维题)

    E. Vanya and Field time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  6. 23. CTF综合靶机渗透(十六)

    靶机说明: VM Name: JIS-CTF : VulnUpload Difficulty: Beginner Description: There are five flags on this m ...

  7. 解决java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList问题

    在spring + springmvc + mybatis框架中,我们配置接口对外返回json格式,但是报如下错误: 24-Oct-2017 17:42:23.495 严重 [http-nio-808 ...

  8. eigen3.3.3+opencv3.2跑orbslam3数据集出现usleep错误

    cd ORB_SLAM2 chmod +x build.sh ./build.sh的时候出现错误:/home/zhao/ORB_SLAM2-master/src/System.cc:236:28: e ...

  9. EIP权限工作流平台总结-2前端框架

      1.预览地址:www.eipflow.com (1) 权限工作流:www.demo.eipflow.com/Account/Login (2) 基础权限版:www.auth.eipflow.com ...

  10. Linux系列教程-----Linux安装centos6.8

    转发:https://www.cnblogs.com/ysocean/p/7689146.html