使用WPF 中的Storyboard 实现了简单的动画效果:
代码很简单,主要是大概了解了下WPF中简单动画实现的思路,算是为以后留作参考
<Window.Triggers>
<!--事件触发器 事件源为myRectangle-->
<EventTrigger SourceName="myRectangle" RoutedEvent="MouseEnter">
<!--动画开始-->
<BeginStoryboard x:Name="myStoryboard">
<Storyboard>
<!--旋转动画-->
<!-- DoubleAnimation DoubleAnimationUsingKeyFrames 对 Rectangle 的 Width 或 Ellipse 的 Height(或任意 FrameworkElement)进行动画处理。-->
<DoubleAnimation
Storyboard.TargetName="myTransform"
Storyboard.TargetProperty="Angle"
From="0" To="360" Duration="0:0:5"
RepeatBehavior="Forever" >
</DoubleAnimation>
<!--动画变色-->
<!--ColorAnimation ColorAnimationUsingKeyFrames 对 SolidColorBrush 或 GradientStop 的 Color 进行动画处理。-->
<ColorAnimation Storyboard.TargetName="myRectangle"
Storyboard.TargetProperty="(Fill).(SolidColorBrush.Color)"
From="LightBlue" To="LightCyan" Duration="0:0:5" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger SourceName="myRectangle" RoutedEvent="MouseLeave">
<!--动画停止-->
<StopStoryboard BeginStoryboardName="myStoryboard" />
</EventTrigger>
</Window.Triggers>
<Grid>
<Rectangle Name="myRectangle" Width="50" Height="50" Fill="LightBlue">
<Rectangle.RenderTransform>
<RotateTransform x:Name="myTransform" Angle="45" CenterX="25" CenterY="25" />
</Rectangle.RenderTransform>
</Rectangle>
</Grid>
</Window>