简单的动画定义及调用

定义名字

<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(); //向右走

 

你可能感兴趣的:(动画)