扩展 WPF 动画类
http://tech.ddvip.com 2008年11月03日 社区交流
扩展 WPF 动画类。
对 Microsoft® Windows® Presentation Foundation 中动画的支持大部分收集在 System.Windows.Media.Animation 命名空间中。这是一个大型命名空间,其中定义了 164 个类专用于设置 22 种特定数据类型的动画属性。这 22 种数据类型包括基本数据类型(如 byte、int 和 double),也包括更特殊的类型(如 Matrix、Point3D 和 Quaternion)。
Windows Presentation Foundation 中的动画资源毫无疑问是引人入胜的作品,但恐怕只有非编程人员才会认为这 22 种数据类型就足够满足各种应用程序。我个人经常开发希望对整个对象集合实现动画效果的应用程序,尤其是坐标点的集合。现有的 API 为我们提供了类(如 PointAnimation 和 Point3DAnimation)来制作单独的 2D 或 3D 坐标的动画,但我希望 PointCollectionAnimation 和 Point3DCollectionAnimation 类通过在两个集合的相应成员之间插入来制作整个坐标点集合的动画。
通常,我们可能会责怪 Microsoft .NET Framework(尤其是 Windows Presentation Foundation)使得定义对象集合如此轻松,使用起来如此便利,就像使用对象本身一样。Windows Presentation Foundation 已定义了 PointCollection 和 Point3DCollection 类,而且在 XAML 中,这些集合的使用方法非常简单。在 XAML 中,分配 Point 类型的属性和分配 PointCollection 类型的属性之间的差别就像键入“100 50”和“100 50, 40 25, 35 80, 50 100”之间的差别一样。因此,我想为什么使这些类型的属性具有动画效果不能像这般简单呢?
假定 PointCollectionAnimation 类将会使 PointCollection 类型的属性具有动画效果。Windows Presentation Foundation 中内置的五个类具有该类型的属性:Polyline、Polygon(两者均源于 Shape)、PolyLineSegment、PolyBezierSegment 和 PolyQuadraticBezierSegment(源于 PathSegment)五个类的属性均指定为 Points。通过使这些 Points 属性具有动画效果,您可以将图形数字从一个形状更改到另一个具有单个动画的形状。
来源:msdn.microsoft.com/msdnmag 作者:周银辉 责编:豆豆技术应用