2016-02-27 32 views
2

让我们假设我的UWP应用程序被暂停并且很久没有使用了。当用户再次打开应用程序时(前面的ApplicationExecutionStateSuspendedTerminated),我不希望用户导航到他/她上次查看的页面(从那以后它变得无关紧要),而是重新执行导航到主页面。我如何使用Template10来做到这一点?Template10 - 恢复后返回主页面

看来,当用户返回到应用程序时,Template10总是将用户返回到最后查看的页面。我试图覆盖App.xaml.cs中的OnResuming方法,但它没有效果。

回答

2

我有这个问题。 我解决了在我的应用程序的LocalSettings中保存像ItWasSuspended这样的布尔属性。 当OnResumming激活时,我将此属性设置为True,或者当启动的事件发生时,我将此属性设置为false。

最后在我的OnNavigatedTo页面中获取此属性的值,如果此属性为true我导航到主页面,并清除后面的堆栈。

下面是如何使用本地设置

https://msdn.microsoft.com/library/windows/apps/windows.storage.applicationdata.localsettings.aspx

可以清除背部栈做这样的事情

this.Frame.BackStack.Clear(); 

请标明这个答案,如果它是对您有用!

致以问候

+0

我有同样的想法。但是,这感觉有点肮脏。您需要在每个不希望用户返回的页面上放置相同的代码 - 而不是在应用程序级别处理此问题。 此外,我不建议使用本地设置存储,而是建议只使用App类中的静态属性,因为将值存储到设置中似乎对我来说过分了。 不过,谢谢你的回答:) –