您的位置:首页 > 其它

WPF 动画按照path路线移动完整

2016-05-12 16:54 260 查看

<Window x:Class="WPF_Animation.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="MainWindow" Height="350" Width="525">

    <Window.Resources>

        <PathGeometry x:Key="path">

            <PathFigure IsClosed="True">

                <ArcSegment Point="100,200" Size="15,10" SweepDirection="Clockwise"/>

                <ArcSegment Point="400,50" Size="5,5"/>

            </PathFigure>

        </PathGeometry>

    </Window.Resources>

    

    <Canvas>

        <Path Stroke="Red" StrokeThickness="1" Data="{StaticResource path}" Canvas.Left="10" Canvas.Top="10"></Path>

        <Image Name="image">

            <Image.Source>

                <DrawingImage>

                    <DrawingImage.Drawing>

                        <GeometryDrawing Brush="LightSteelBlue">

                            <GeometryDrawing.Geometry>

                                <GeometryGroup>

                                    <EllipseGeometry Center="10,10" RadiusX="9" RadiusY="4"/>

                                    <EllipseGeometry Center="10,10" RadiusX="4" RadiusY="9"/>

                                </GeometryGroup>

                            </GeometryDrawing.Geometry>

                            <GeometryDrawing.Pen>

                                <Pen Thickness="1" Brush="Black"/>

                            </GeometryDrawing.Pen>

                        </GeometryDrawing>

                    </DrawingImage.Drawing>

                </DrawingImage>

            </Image.Source>

            <Image.Triggers>

                <EventTrigger  RoutedEvent="Image.MouseEnter">

                    <BeginStoryboard>

                        <Storyboard>

                            <DoubleAnimationUsingPath Storyboard.TargetName="image" Storyboard.TargetProperty="(Canvas.Left)" PathGeometry="{StaticResource path}"

                                                      Duration="0:0:5" RepeatBehavior="Forever" Source="X"/>

                            <DoubleAnimationUsingPath Storyboard.TargetName="image" Storyboard.TargetProperty="(Canvas.Top)" PathGeometry="{StaticResource path}"

                                                      Duration="0:0:5" RepeatBehavior="Forever" Source="Y"/>

                        </Storyboard>

                    </BeginStoryboard>              

                </EventTrigger>

            </Image.Triggers>

        </Image>

    </Canvas>

    

</Window>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  wpf 动画