定义名字
<phone:PhoneApplicationPage x:Name="mainPage"
在 xaml 定义动画资源
<phone:PhoneApplicationPage.Resources> <Storyboard x:Name="GoLeft"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.GlobalOffsetX)" Storyboard.TargetName="mainPage"> <EasingDoubleKeyFrame KeyTime="0" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="-500"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Name="GoRight"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.GlobalOffsetX)" Storyboard.TargetName="mainPage"> <EasingDoubleKeyFrame KeyTime="0" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="500"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Name="ComeLeft"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.GlobalOffsetX)" Storyboard.TargetName="mainPage"> <EasingDoubleKeyFrame KeyTime="0" Value="-500"/> <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="0"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Name="ComeRight"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.GlobalOffsetX)" Storyboard.TargetName="mainPage"> <EasingDoubleKeyFrame KeyTime="0" Value="500"/> <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="0"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </phone:PhoneApplicationPage.Resources> <phone:PhoneApplicationPage.Projection> <PlaneProjection/> </phone:PhoneApplicationPage.Projection>
调用动画
GoLeft.Completed += new EventHandler((sender, eventargs) => { ComeRight.Begin(); //从右回 }); GoRight.Completed += new EventHandler((sender, eventargs) => { ComeLeft.Begin(); //从左回 }); if (tmpstartid > startid) GoLeft.Begin(); //向左走 else if (tmpstartid < startid) GoRight.Begin(); //向右走