WPF学习笔记“动画”一:动画基础

  首先确定一点是:动画是WPF模型的核心部分。这就意味着为了让动画运行起来,不需要使用计时器以及事件处理代码。而可以使用声明的方式创建动画,使用少数几个类中的某

个配置动画,并且为了使动画运行起来不需要编写任何C#代码。

  以前基于windows的平台中(如windows窗体和MFC),开发人员必须从头构建它们自己的动画系统,最常用的技术是结合使用计时器和一些自定义的绘图逻辑。WPF通过一个

新的基于属性的动画系统,改变了这种状况。

一、传统动画(基于时间的动画)

  传统动画存在的一些问题:

  1、它绘制像素,而不是控件;

  2、它假定单一动画;

  3、动画帧速率是固定的;

  4、复杂的动画需要指数级增长的更加复杂的代码;

二、属性动画(基于属性的动画)

  动画是被看作是一系列帧。为了执行动画,就要逐帧地显示这些帧,就像定格的视频。而WPF动画使用一个完全不同的模型,本质上,WPF动画只不过是在一段时间间隔内修

改依赖项属性值的一种方式。(创建正确动画的秘密在于决定需要修改什么属性

  如果希望实现不能通过修改一个属性实现的其他变化,那么上述方法就行不通,例如,不能将添加或删除元素作为动画的一部分。同样,不能要求WPF在开始场景和结束场景之

间执行过渡(尽管一些灵巧的变通方法可以模拟这种效果)。最后,只能为依赖项属性应用动画,因为只有依赖项属性使用动态的属性识别系统,而该系统将动画考虑在内。

原文地址:https://www.cnblogs.com/gengyuanchao/p/2714404.html