我已经创建了以下XAML。
如您所见,我创建了两个椭圆形节点。连接这两个节点的路径和一个坐落在节点1上的对象。我想做的就是将节点1上的对象沿着路径朝向节点2进行动画处理。
我试图使用代码实现动画效果,因为我希望在单击节点2时发生动画。我一直在尝试使用DoubleAnimation、MatrixAnimation、Storyboard等方法,但非常令人困惑。请分享您的知识,告诉我如何实现这个目标。我希望同样的代码也可以适用于曲线和复杂路径。
<Canvas Background="Gray" Margin="10">
<Ellipse x:Name="Node1" Width="20" Height="20" Fill="AliceBlue" Canvas.Left="38" Canvas.Top="136" />
<Ellipse x:Name="Node2" Width="20" Height="20" Fill="AliceBlue" Canvas.Left="290" Canvas.Top="136" />
<Ellipse x:Name="object" Width="10" Height="20" Fill="Black" Canvas.Left="43" Canvas.Top="125" />
<Path Stroke="Black" StrokeThickness="1">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigureCollection>
<PathFigure StartPoint="50,145">
<PathFigure.Segments>
<PathSegmentCollection>
<LineSegment Point="100,100" />
<LineSegment Point="250,100" />
<LineSegment Point="300,145" />
</PathSegmentCollection>
</PathFigure.Segments>
</PathFigure>
</PathFigureCollection>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
</Canvas>
如您所见,我创建了两个椭圆形节点。连接这两个节点的路径和一个坐落在节点1上的对象。我想做的就是将节点1上的对象沿着路径朝向节点2进行动画处理。
我试图使用代码实现动画效果,因为我希望在单击节点2时发生动画。我一直在尝试使用DoubleAnimation、MatrixAnimation、Storyboard等方法,但非常令人困惑。请分享您的知识,告诉我如何实现这个目标。我希望同样的代码也可以适用于曲线和复杂路径。
Path.Data
包含Path.Geometry
,也许可以将其用作DoubleAnimationUsingPath.PathGeometry
?不过我会留给你自己去研究的 ;) - StaWho