C# 页面未保存WinRt中媒体元素的状态

C# 页面未保存WinRt中媒体元素的状态,c#,windows-runtime,C#,Windows Runtime,我正在试用C#中的Widows Store应用程序,使用MediaElement控件。我所做的是播放视频,用户可以随时暂停该视频并导航到其他页面。当它返回到视频页面时,该视频将从最后一个位置恢复。但在我的例子中,当用户导航回视频页面时,它会丢失视频播放器的所有状态,如播放时间、位置。代码如下所示。请检查并帮助我 public MainPage() { this.InitializeComponent(); this.NavigationCacheM

我正在试用C#中的Widows Store应用程序,使用MediaElement控件。我所做的是播放视频,用户可以随时暂停该视频并导航到其他页面。当它返回到视频页面时,该视频将从最后一个位置恢复。但在我的例子中,当用户导航回视频页面时,它会丢失视频播放器的所有状态,如播放时间、位置。代码如下所示。请检查并帮助我

    public MainPage()
    {
        this.InitializeComponent();
        this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled;
    }

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        if (e.NavigationMode == NavigationMode.Back)
        {

            if (VideoPlayer.CurrentState == MediaElementState.Paused)
            {
                VideoPlayer.Play();     // Video Player MediaElement
            }
        }
    }

    private void NavigateButton_Click(object sender, RoutedEventArgs e)
    {
        if (VideoPlayer.CurrentState != MediaElementState.Paused)
        {
            VideoPlayer.Pause();
            this.Frame.Navigate(typeof(SecondPage));
        }
    } 

导航到某个页面时-默认情况下,将创建该页面的新实例。您可以将页面的NavigationCacheMode更改为enabled以将其保留在内存中,但随后您必须拥有页面的资源管理以及它可能使用的所有内存。或者,当您离开页面导航时,您可能只想在该视频中保存该位置,并在返回后恢复该位置,这更有意义,因为它也可以在应用程序重新启动或终止并恢复后继续运行。

谢谢您的回答。如果您提供一些代码,这将非常有用。请