C# 使用PickFolderAndContinue方法恢复应用程序时出现问题

C# 使用PickFolderAndContinue方法恢复应用程序时出现问题,c#,windows-phone-8.1,C#,Windows Phone 8.1,我在使用PickFolderAndContinue方法后恢复应用程序时遇到问题。我一直试图偏离MSDN样本的说明。我还没有弄清楚如何更改OnActivated方法以返回到我的设置页面。示例仅使用具有不同内容框架的主页 protected async override void OnActivated(IActivatedEventArgs e) { base.OnActivated(e); ContinuationManager continua

我在使用PickFolderAndContinue方法后恢复应用程序时遇到问题。我一直试图偏离MSDN样本的说明。我还没有弄清楚如何更改OnActivated方法以返回到我的设置页面。示例仅使用具有不同内容框架的主页

    protected async override void OnActivated(IActivatedEventArgs e)
    {
        base.OnActivated(e);

        ContinuationManager continuationManager = new ContinuationManager();

        Frame rootFrame = CreateRootFrame();
        await RestoreStatusAsync(e.PreviousExecutionState);

        if (rootFrame.Content == null)
        {
            rootFrame.Navigate(typeof(SettingsPage));
        }

        var continuationEventArgs = e as IContinuationActivatedEventArgs;
        if (continuationEventArgs != null)
        {
            // What do i do here to return to my settings page?
            Frame scenarioFrame = SettingsPage.Current.FindName("ScenarioFrame") as Frame; 
            if (scenarioFrame != null)
            {
                // Call ContinuationManager to handle continuation activation 
                continuationManager.Continue(continuationEventArgs, scenarioFrame);
            }
        }

        Window.Current.Activate();
    }

谢谢。

当您的OnActivated被调用时,如果您知道您总是想进入设置页面,那么您只需要以下代码:

   Frame rootFrame = CreateRootFrame();
    await RestoreStatusAsync(e.PreviousExecutionState);

    if (rootFrame.Content == null)
    {
        rootFrame.Navigate(typeof(SettingsPage));
    }
该代码创建应用程序根框架,并告诉它导航到该特定页面

之后的代码使用ContinuationManager。这是一种机制,设置为调用页面,让页面知道它正在从AndContinue方法返回。这将允许页面执行该页面的任何功能

FilePicker还有一个ContinuationData属性,您可以在调用AndContinue方法之前设置该属性。此数据可通过IContinuationActivatedEventArgs在OnActivated中获得

本博客对AndContinue方法进行了很好的描述: