<Window x:Class="HelloWorld.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:HelloWorld" xmlns:controls="clr-namespace:HelloWorld.Controls"xmlns:helper="clr-namespace:HelloWorld.MVVM"mc:Ignorable="d" Title="WPF中文网 - 动画 - www.wpfsoft.com" Height="350" Width="500"> <Window.DataContext><local:MainViewModel/></Window.DataContext><Window.Resources><Storyboard x:Key="KeyFrameStoryboard"><PointAnimationUsingKeyFramesStoryboard.TargetName="ellipse"Storyboard.TargetProperty="Fill.GradientOrigin"AutoReverse="True" RepeatBehavior="Forever"><LinearPointKeyFrame Value="0.25,0.25" KeyTime="0:0:0"/><LinearPointKeyFrame Value="0.75,0.35" KeyTime="0:0:1"/><LinearPointKeyFrame Value="0.25,0.75" KeyTime="0:0:2"/><LinearPointKeyFrame Value="0.85,0.85" KeyTime="0:0:3"/></PointAnimationUsingKeyFrames></Storyboard><Storyboard x:Key="WidthStoryboard" TargetProperty="Width"><DoubleAnimation From="200" To="300" Duration="0:0:1.5"AutoReverse="True" RepeatBehavior="Forever"></DoubleAnimation></Storyboard><Storyboard x:Key="HeightStoryboard" TargetProperty="Height"><DoubleAnimation From="200" To="300" Duration="0:0:1.5"AutoReverse="True" RepeatBehavior="Forever"></DoubleAnimation></Storyboard></Window.Resources><Canvas x:Name="canvas" Background="Transparent"><Canvas.Triggers><EventTrigger RoutedEvent="Canvas.Loaded"><BeginStoryboard><Storyboard><DoubleAnimationUsingKeyFrames Storyboard.TargetName="ellipse"Storyboard.TargetProperty="(Canvas.Left)"><LinearDoubleKeyFrame Value="0" KeyTime="0:0:0.5"/><EasingDoubleKeyFrame Value="150" KeyTime="0:0:2"><EasingDoubleKeyFrame.EasingFunction><SineEase EasingMode="EaseInOut"/></EasingDoubleKeyFrame.EasingFunction></EasingDoubleKeyFrame></DoubleAnimationUsingKeyFrames></Storyboard></BeginStoryboard></EventTrigger><EventTrigger RoutedEvent="Canvas.MouseLeftButtonUp"><BeginStoryboard><Storyboard><DoubleAnimationUsingKeyFrames Storyboard.TargetName="ellipse"Storyboard.TargetProperty="(Canvas.Left)"><LinearDoubleKeyFrame Value="700" KeyTime="0:0:2"/></DoubleAnimationUsingKeyFrames></Storyboard></BeginStoryboard></EventTrigger><EventTrigger RoutedEvent="Canvas.MouseRightButtonUp"><BeginStoryboard><Storyboard><DoubleAnimationUsingKeyFrames Storyboard.TargetName="ellipse"Storyboard.TargetProperty="(Canvas.Left)"><EasingDoubleKeyFrame Value="150" KeyTime="0:0:1"><EasingDoubleKeyFrame.EasingFunction><CircleEase EasingMode="EaseOut"/></EasingDoubleKeyFrame.EasingFunction></EasingDoubleKeyFrame></DoubleAnimationUsingKeyFrames></Storyboard></BeginStoryboard></EventTrigger></Canvas.Triggers><Ellipse x:Name="ellipse" Canvas.Left="-200"Canvas.Top="50"Width="200" Height="200"><Ellipse.Triggers><EventTrigger RoutedEvent="Loaded"><BeginStoryboard Storyboard="{StaticResource KeyFrameStoryboard}"/></EventTrigger></Ellipse.Triggers><Ellipse.Fill><RadialGradientBrush GradientOrigin="0.25,0.25" RadiusX="0.75" RadiusY="0.75"><RadialGradientBrush.GradientStops><GradientStop Color="White" Offset="0" /><GradientStop Color="LightCoral" Offset="0.65" /><GradientStop Color="Gray" Offset="0.8" /&g