2016-02-27 33 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類中的靜態屬性,因爲將值存儲到設置中似乎對我來說過分了。 不過,謝謝你的回答:) –