C# 跨页面同步动画

C# 跨页面同步动画,c#,xaml,animation,windows-phone-8,C#,Xaml,Animation,Windows Phone 8,我目前正在构建一个应用程序,在所有页面上使用一个简单的xaml动画 这是动画的xaml <Storyboard x:Name="raysSpin"> <DoubleAnimation Duration="0:0:6.0" To="360" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="

我目前正在构建一个应用程序,在所有页面上使用一个简单的xaml动画

这是动画的xaml

    <Storyboard x:Name="raysSpin">
        <DoubleAnimation Duration="0:0:6.0" To="360" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="sunRays" RepeatBehavior="Forever"/>
    </Storyboard>

以上动画位于应用程序的所有页面上。现在,当用户导航到下一页时,我需要在所有页面上保持此动画同步,以便用户看起来没有进入其他页面。动画,无论它在时间轴中的位置如何,都需要在新页面动画上设置该位置,并从我们停止的位置开始

是否有人知道或有任何关于如何以有效方式执行此操作的想法

我的第一个也是唯一的想法是将动画的时间跨度存储到app.xaml.cs中存储的全局变量中,然后在每个页面的onNativgatedTo中,将新页面动画设置为存储的时间跨度,并从我们离开它的位置开始。它在一定程度上起作用,但有明显的口吃


我曾想过在自己的线程上运行动画,但我不知道这是否可行,如果可行,如何实现

最好的方法是将母版页拆分为不同的部分。一个是保存该控件的位置,另一个是在用户导航时放置新控件的位置。即使您使用动画的当前状态设置了一个全局变量,但在加载新页面时(除非您设置了SLA),可能需要几秒钟的时间,如果您希望给用户一种平滑的感觉,当前动画已经不同了

更新:

大概是这样的:


您可以将新内容加载到“新用户控件”窗格。

这是最好的方法。只有一个页面,并使用用户控件显示新内容。很乐意帮忙:)只是一个简短的问题,马可,所以我想了想。是否可以保留子页面的导航堆栈?我解释你答案的方式是,你有一个母版页,上面有我的背景和动画部分,然后是一个部分,用来保存应用程序所需的各个页面?有点像这样