缓动函数可以通过一系列公式模拟一些物理效果,如实地弹跳或其行为如同在弹簧上一样。它们一般应用在From/To/By动画上,可以使得其动画更加平滑。

var widthAnimation = new DoubleAnimation()
    {
        From = 0,
        To = 320,
        Duration = TimeSpan.FromSeconds(1),
        EasingFunction = new BackEase()
        {
            Amplitude = 0.3,
            EasingMode = EasingMode.EaseOut,
        },
    };

button.BeginAnimation(WidthProperty, widthAnimation);

从上面的例子可以看出,可以通过设置EasingFunction属性来使能缓动函数,通过 EasingMode 控制缓动函数的行为方式,它是一个枚举,有如下三个选项:

  • EaseIn :动画起始部分使能缓动函数
  • EaseOut :动画结束部分使能缓动函数
  • EaseInOut :动画起始和结束部分都使能缓动函数

内置的缓动函数:

系统内部内置了一系列缓动函数,可以参考下图选择所需要的函数。

BackEase

BounceEase

CircleEase

CubicEase

ElasticEase

ExponentialEase

PowerEase

QuadraticEase

QuarticEase

QuinticEase

SineEase

参考资料:

http://msdn.microsoft.com/zh-cn/library/ee308751(v=vs.110).aspx

转载于:https://www.cnblogs.com/TianFang/p/4057913.html

WPF中的动画——(四)缓动函数相关推荐

  1. 用缓动函数模拟物理动画

    1.缓动函数简介 <1>缓动函数的动画效果是建立在CALayer层级的关键帧动画基础之上 也就是说用普通的UIView的Animation是无法直接实现缓动函数 <2>缓动函数 ...

  2. JS实现动画特效2(缓动函数封装、导航栏筋斗云效果)

    JS实现的动画特效:手风琴特效展示图片.筋斗云动画 一.小知识 1.浏览器的offsetLeft是就近取整,要实现向上取整或向下取整,可以调用Math.ceil()或Math.floor() 2.想要 ...

  3. 4.QML动画——概念、动画应用方式和动画的缓动曲线

    一.动画 动画将应用于属性更改. 动画通过对属性值定义插值曲线,控制属性值从一个值到另一个值平滑过渡. Qt Quick中的所有动画均由同一计时器控制,因此动画是同步的. 这样可以提高动画的性能和视质 ...

  4. Dotween SetEase Ease缓动函数

    例如 :cameraTrans.DOLocalMove(pos, time).SetEase(Ease.OutExpo); Ease.InQuad 不知道Quad代表什么意思    Ease.InQu ...

  5. 缓动函数 Easing Functions

    缓动函数 Easing Functions 缓动函数 自定义参数随时间变化的速率. 常见效果 Linear:无缓动效果: Quadratic:二次方的缓动(t^2): Sinusoidal:正弦曲线的 ...

  6. WPF中的动画——(三)时间线(TimeLine)

    WPF中的动画--(三)时间线(TimeLine) 原文:WPF中的动画--(三)时间线(TimeLine) 时间线(TimeLine)表示时间段. 它提供的属性可以让控制该时间段的长度.开始时间.重 ...

  7. 11、《每周一点canvas动画》——缓动动画

    本系列文章代码文件 前面的章节我们介绍了许多基本的动画,在本节我们将使用这些基本的动画来创建一些高级动画.今天我们介绍的第一个高级动画叫做缓动动画(ease),也许在写css动画的时候已经接触过 ea ...

  8. Easing 缓动函数收集

    Easing 缓动函数收集 缓动函数 ECharts图表 jquery easing 插件 Java 参考资料 之前收集了不少链接,结果久了都404了.还是得复制一份代码过来才放心. 缓动函数 ECh ...

  9. WPF中的动画——(二)From/To/By 动画

    原文:WPF中的动画--(二)From/To/By 动画 我们所实现的的动画中,很大一部分是让一个属性在起始值和结束值之间变化,例如,我在前文中实现的改变宽度的动画: var widthAnimati ...

最新文章

  1. SpringBoot+Mybatis+Swagger2环境搭建
  2. Lambda表达式很鸡肋?它到底有何用呢?
  3. 高考特长计算机2017,2017年北京理工大学计算机学院申请竞赛获奖与特长生推荐.PDF...
  4. python类变量与__init__声明变量的区别
  5. 反射和动态代理实现上下文切入AOP效果
  6. android异常信息,Android 获取设备信息 异常
  7. 最简单的打造淘宝商品爆款步骤
  8. C#简介和异常类总结
  9. 【转】两个算法题,感觉挺有意思
  10. Java Web之基于注解的Spring MVC环境配置
  11. python---基础知识回顾(十)进程和线程(协程gevent:线程在I/O请求上的优化)...
  12. Spark机器学习(12):神经网络算法
  13. redis集群原理面试回答
  14. html背景图片纵向拉伸,html网页背景图片拉伸 关于html背景图片往下拉伸问题
  15. 如何用WGDI进行共线性分析(上)
  16. Ipad项目中用到的UIModalPresentationFormSheet,点击阴影部分dismiss 当前presented的controller
  17. JavaScript 编程精解 中文第三版 十四、文档对象模型
  18. matlab 积分函数曲线,Matlab之函数积分 | 学步园
  19. java List深拷贝的两种方式
  20. 梦幻西游 WSG 文件格式分析

热门文章

  1. 对二维数组进行Zig-Zag扫描(C++)
  2. [react] 高阶组件(HOC)有哪些优点和缺点?
  3. [react] render方法的原理你有了解吗?它返回的数据类型是什么?
  4. 前端学习(3158):react-hello-react之一个简单的helloworld
  5. 前端学习(3124):react-hello-react之props的简写
  6. [html] iframe可以使用父页面中的资源吗(如:css、js等)?
  7. 前端学习(2574):vuex最佳实践
  8. “约见”面试官系列之常见面试题之第八十九篇之vue生命周期作用(建议收藏)
  9. 前端学习(2376):项目初始化
  10. 前端学习(1301):gulp建立任务csso和less