WPF路径动画


在WPF中实现动画并不是什么困难的事,因为WPF提供了动画模型和强大的类库,其中WPF中的三种基本动画:线插性值动画、关键帧动画、路径动画,这三种动画都在system.Windows.Media.Animation这个命名空间。

路径动画:基于路径的动画,通过修改数值使其符合PathGeometry对象描述的形状,并让元素沿着路径进行移动从而达到动画效果。以下是三个路径动画类

MatrixAnimationUsingPath

这个是路径动画比较常用的一个类

例:首先绘制一个几何,再在Storyboard里使用DoubleAnimationUsingPath设置属性

Duration:动画持续时间

RepeatBehavior:动画的重复行为 值可以为Forever(永久),也可以根据需求设置动画的时间。

DoesRotateWithTangent:设置这个属性后可根据路径的坡度来移动

















Storyboard.TargetProperty="Matrix"
DoesRotateWithTangent="True"
Duration="0:0:5" RepeatBehavior="Forever" >















定义好Storyboard后通过触发器来触发动画。

DoubleAnimationUsingPath

通过控制对象的MatrixTransform (X、Y和Angle)实现路径变化达到动画效果。
















Storyboard.TargetName="translateTransform"
Storyboard.TargetProperty="X"
Source="X"
Duration="0:0:5" RepeatBehavior="Forever" >

Storyboard.TargetName="translateTransform"
Storyboard.TargetProperty="Y"
Source="Y"
Duration="0:0:5" RepeatBehavior="Forever" >





















PointAnimationUsingPath 靠中心点确定位置的形状





Storyboard.TargetName="ellipse"
Storyboard.TargetProperty="Center"
Duration="0:0:5" RepeatBehavior="0:0:8" >
















效果:(动画效果的话自己可以复制代码看看效果,三个动画效果是一样的,只是实现方式不同)


WPF