2011-04-04 53 views
0

我創建了一個簡單的總線時間表應用程序,其中包含收藏頁面,搜索頁面和結果頁面。如果用戶有最喜歡的,那麼我希望他們能夠顯示最喜歡的頁面,否則他們應該顯示搜索頁面。另外,如果用戶在最近10分鐘內執行了搜索,則應該轉到結果頁面。以編程方式更改Windows Phone 7應用程序啓動頁面

我最初是如何做到的,就是在MainPage.xaml Loaded事件中調用NavigationService.Navigate。這似乎工作正常,但由於後退按鈕不再退出應用程序(由於隱藏頁仍在導航堆棧中),所以我未能通過微軟的驗證。

然後我想到了在我的應用程序中有一個Loaded屬性,並且如果用戶已經被登錄重定向,那麼應用程序可能會調用Quit或GoBack,但這兩個選項似乎都不可行(沒有退出,並且在第一頁上調用GoBack將失敗)。

有誰知道實現頁面重定向或清理導航堆棧的最佳方式?

回答

1

Peter Torr在他的博客文章Redirecting an initial navigation中記錄了許多實現這種方法的方法。在你的情況下,我認爲自定義的UriMapper可能是最好的解決方案。

+0

謝謝,現在查看他的示例代碼。 – 2011-04-04 20:51:49

+0

這很好。 – 2011-04-05 14:27:25

0

我會建議總是向用戶顯示主頁面。主頁面應允許訪問收藏夾,搜索和結果。用戶將選擇他們想要的頁面。你可能會認爲你正在通過預先加載你認爲他們想要的東西來滿足用戶的需求,但是對於每個8你認爲正確的地方,會有2個需要另一個頁面。另外,您可以簡化應用程序並通過驗證。

+0

我以前有過這個建議。在我放棄這個想法之前,我想至少讓重定向工作並嘗試一下。這可能是一個初始頁面更方便用戶使用,但我並不真正銷售它。 – 2011-04-04 20:54:43

相關問題