使用拾取文件夹和继续方法恢复应用程序时出现问题



在使用 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();
    }

谢谢。

当您调用OnActive时,如果您知道自己总是想转到设置页面,那么您只需要以下代码:

   Frame rootFrame = CreateRootFrame();
    await RestoreStatusAsync(e.PreviousExecutionState);
    if (rootFrame.Content == null)
    {
        rootFrame.Navigate(typeof(SettingsPage));
    }

代码创建应用程序根框架,并告诉它导航到该特定页面。

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

FilePicker 还具有一个 ContinuationData 属性,可以在调用 AndContinue 方法之前设置该属性。 此数据可通过 IContinuationActivated EventArgs 在 OnActivated 中找到。

这篇博客对AndContinue方法有很好的描述:http://blogs.msdn.com/b/wsdevsol/archive/2014/05/08/using-the-andcontinue-methods-in-windows-phone-silverlight-8-1-apps.aspx

最新更新