C# 完成动画后如何导航到下一页?

C# 完成动画后如何导航到下一页?,c#,xaml,windows-phone-7,expression-blend,C#,Xaml,Windows Phone 7,Expression Blend,我正在尝试在WindowsPhone8中为Splashscreen制作动画。我已经完成了对象反弹的动画。但在完成动画后,它应该立即切换到下一页。如何完成这项任务 //MainPage.xaml <phone:PhoneApplicationPage.Resources> <Storyboard x:Name="Storyboard1"> <DoubleAnimationU

我正在尝试在WindowsPhone8中为Splashscreen制作动画。我已经完成了对象反弹的动画。但在完成动画后,它应该立即切换到下一页。如何完成这项任务

    //MainPage.xaml
        <phone:PhoneApplicationPage.Resources>
                <Storyboard x:Name="Storyboard1">
                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="arc">
                        <EasingDoubleKeyFrame KeyTime="0" Value="-555">
                            <EasingDoubleKeyFrame.EasingFunction>
                                <BounceEase EasingMode="EaseOut"/>
                            </EasingDoubleKeyFrame.EasingFunction>
                        </EasingDoubleKeyFrame>
                        <DiscreteDoubleKeyFrame KeyTime="0:0:5" Value="-150"/>

                    </DoubleAnimationUsingKeyFrames>
                </Storyboard>
            </phone:PhoneApplicationPage.Resources>

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

            <es:Arc x:Name="arc" ArcThickness="20" ArcThicknessUnit="Pixel" EndAngle="360" HorizontalAlignment="Left" Height="100" Margin="174,369.5,0,0" Stretch="None" Stroke="Black" StartAngle="0" UseLayoutRounding="False" VerticalAlignment="Top" Width="100" RenderTransformOrigin="0.5,0.5" Loaded="arc_Loaded">
                <es:Arc.RenderTransform>
                    <CompositeTransform/>
                </es:Arc.RenderTransform>
                <es:Arc.Fill>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#FF3B9E5B" Offset="0"/>
                        <GradientStop Color="#FF8D2727" Offset="1"/>
                    </LinearGradientBrush>
                </es:Arc.Fill>
            </es:Arc>

        </Grid>
//MainPage.xaml

您可以在sotryboard事件完成后导航到下一页

 <Storyboard x:Name="Storyboard1" Completed="Storyboard_Completed_1">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="arc">
                    <EasingDoubleKeyFrame KeyTime="0" Value="-555">
                        <EasingDoubleKeyFrame.EasingFunction>
                            <BounceEase EasingMode="EaseOut"/>
                        </EasingDoubleKeyFrame.EasingFunction>
                    </EasingDoubleKeyFrame>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:5" Value="-150"/>

                </DoubleAnimationUsingKeyFrames>
            </Storyboard>

您可以在sotryboard的已完成事件中导航到下一页

 <Storyboard x:Name="Storyboard1" Completed="Storyboard_Completed_1">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="arc">
                    <EasingDoubleKeyFrame KeyTime="0" Value="-555">
                        <EasingDoubleKeyFrame.EasingFunction>
                            <BounceEase EasingMode="EaseOut"/>
                        </EasingDoubleKeyFrame.EasingFunction>
                    </EasingDoubleKeyFrame>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:5" Value="-150"/>

                </DoubleAnimationUsingKeyFrames>
            </Storyboard>

您可以处理情节提要的
已完成
事件

Storyboard myStoryboard = Resources["Storyboard1"] as Storyboard;

if(myStoryboard != null)
{
    myStoryboard.Completed += (s,e) => 
           {
             NavigationService.Navigate(new Uri("/NextPage.xaml", UriKind.Relative));
           };
    myStoryboard.Begin();
}

您可以处理情节提要的
已完成
事件

Storyboard myStoryboard = Resources["Storyboard1"] as Storyboard;

if(myStoryboard != null)
{
    myStoryboard.Completed += (s,e) => 
           {
             NavigationService.Navigate(new Uri("/NextPage.xaml", UriKind.Relative));
           };
    myStoryboard.Begin();
}

这是解决问题的方法,但我想如果没有帮助的话,你需要分享更多关于这个问题的信息

 <Storyboard x:Name="StoryboardTest" Completed="Storyboard_Completed">
                //What ever animation you want to do
            </Storyboard>
有关启动屏幕动画的演示,请转到此链接
并相应地应用动画。

以下是解决方案,但如果这没有帮助,我想你需要分享更多关于这个问题的信息

 <Storyboard x:Name="StoryboardTest" Completed="Storyboard_Completed">
                //What ever animation you want to do
            </Storyboard>
有关启动屏幕动画的演示,请转到此链接

并相应地应用动画。

为什么在问题上添加wpf标记?wpf支持xaml。所以我补充说,不,WPF不是XAML。在Windows Phone上有Silverlight的子集,但没有WPF。因此,这意味着有时您将无法在Windows Phone上编译WPF代码。你真的需要useles的答案吗?为什么要在你的问题上添加wpf标签?wpf支持的xaml。所以我补充说,不,WPF不是XAML。在Windows Phone上有Silverlight的子集,但没有WPF。因此,这意味着有时您将无法在Windows Phone上编译WPF代码。你真的需要useles的答案吗?我的动画是5秒。只有在动画完成后,它才能导航到下一个屏幕。我不需要导航。你能再解释一下吗?我想我能想出一个解决办法。如果你有任何代码片段,请分享:)上面的动画是弹跳效果。它链接到一个称为“弧”的对象。因此,这个物体在屏幕上反弹5秒。动画完成后,页面应立即导航到下一个屏幕。这就是全部。谢谢你。我想导航服务会负责导航到下一个屏幕:)我的动画是5秒。只有在动画完成后,它才能导航到下一个屏幕。我不需要导航。你能再解释一下吗?我想我能想出一个解决办法。如果你有任何代码片段,请分享:)上面的动画是弹跳效果。它链接到一个称为“弧”的对象。因此,这个物体在屏幕上反弹5秒。动画完成后,页面应立即导航到下一个屏幕。这就是全部。谢谢。我想导航服务会负责导航到下一个屏幕:)对不起。这是行不通的。在完成以上5秒的动画后,它应该会自动导航到下一页。你能告诉我你是如何调用动画的吗?
Completed
事件应在动画完成后触发。请立即检查修改的代码。在名为“arc”的xaml文件中调用。在故事板上的哪里调用
Begin
?整个动画在xaml中完成。是0秒的起点。对不起。这是行不通的。在完成以上5秒的动画后,它应该会自动导航到下一页。你能告诉我你是如何调用动画的吗?
Completed
事件应在动画完成后触发。请立即检查修改的代码。在名为“arc”的xaml文件中调用。在故事板上的哪里调用
Begin
?整个动画在xaml中完成。是0秒的起点。