Windows Phone开发(38):动画之PointAnimation 转:http://blog.csdn.net/tcjiaan/article/details/7536229

PointAnimation也是很简单的,与前面说到的两个Animation是差不多的,属性也是一样的,如By、From、To,不同的是,PointAnimation是目标值从一点到另一个点。

我有理由相信,大家一定懂的,所以,我不多介绍了,给两个例了热一下身就行了。

例一,让直线动起来。

这个例子,以LineGeometry作为动画的目标对象,通过对StartPoint属性和EndPoint属性进行动画来让直线(其实是线段)动起来。

  1. <Grid>  
  2.     <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  
  3.           Stroke="Orange" StrokeThickness="6">  
  4.         <Path.Data>  
  5.             <LineGeometry x:Name="lg" StartPoint="25,32" EndPoint="185,97"/>  
  6.         </Path.Data>  
  7.     </Path>  
  8.     <Grid.Resources>  
  9.         <Storyboard x:Name="std" RepeatBehavior="Forever" AutoReverse="True">  
  10.             <PointAnimation Duration="0:0:5"  
  11.                             Storyboard.TargetName="lg"  
  12.                             Storyboard.TargetProperty="StartPoint"  
  13.                             To="20,375"/>  
  14.             <PointAnimation Duration="0:0:5"  
  15.                             Storyboard.TargetName="lg"  
  16.                             Storyboard.TargetProperty="EndPoint"  
  17.                             To="407,490"/>  
  18.         </Storyboard>  
  19.     </Grid.Resources>  
  20. </Grid>  


记得了,在页面的Loaded事件中激活动画。

  1. // 构造函数  
  2. public MainPage()  
  3. {  
  4.     InitializeComponent();  
  5.   
  6.     this.Loaded += (sender, e) =>  
  7.         {  
  8.             this.std.Begin();  
  9.         };  
  10. }  


例二,对曲线进行动画。

本例对BezierSegment的三个点进行动画,即使贝塞尔曲线“游动”起来。

  1. <Grid>  
  2.     <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  
  3.           Stroke="LightGreen" StrokeThickness="12">  
  4.         <Path.Data>  
  5.             <PathGeometry>  
  6.                 <PathFigure StartPoint="180,35">  
  7.                     <BezierSegment x:Name="pbm"   
  8.                                    Point1="28,180"  
  9.                                    Point2="200,270"  
  10.                                    Point3="412,700"/>  
  11.                 </PathFigure>  
  12.             </PathGeometry>  
  13.         </Path.Data>  
  14.     </Path>  
  15.     <Grid.Resources>  
  16.         <Storyboard x:Name="std" RepeatBehavior="Forever" AutoReverse="True">  
  17.             <PointAnimation Duration="0:0:3"  
  18.                             Storyboard.TargetName="pbm"  
  19.                             Storyboard.TargetProperty="Point1"  
  20.                             From="27,162" To="415,145"/>  
  21.             <PointAnimation Duration="0:0:3"  
  22.                             Storyboard.TargetName="pbm"  
  23.                             Storyboard.TargetProperty="Point2"  
  24.                             To="600,400"/>  
  25.             <PointAnimation Duration="0:0:3"  
  26.                             Storyboard.TargetName="pbm"  
  27.                             Storyboard.TargetProperty="Point3"  
  28.                             To="10,700"/>  
  29.         </Storyboard>  
  30.     </Grid.Resources>  
  31. </Grid>  

后台代码就是在Loaded事件中激活动画,这个大家应该会了。

好了,这节课就这样很轻松地过了。

原文地址:https://www.cnblogs.com/songtzu/p/2607101.html