2011-04-01 36 views
1

基本上當我的應用程序加載我的第一個屏幕是MainPage.xaml,我將其視爲加載屏幕。這是爲了讓屏幕更新出現得更快。從加載屏幕中,用戶自動導航到另一個頁面,該頁面分別包含名爲Content.xaml的內容。在WP7中處理雙向導航?

問題是導航第一種方式工作得很好,

SpashScreenImage - > MainPage.xaml中 - > Content.xaml

,但如果用戶決定打後退按鈕,他們轉到加載頁面,然後導航到內容頁面。

MainPage.xaml中< - Content.xaml
MainPage.xaml文件 - > Content.xaml

這看起來確實很容易解決,如果我知道他們是從什麼來頁。 有沒有辦法檢測用戶正在瀏覽的頁面?這樣我就可以正確處理它。

編輯:我的主要目的是讓在您導航到WP7中的全景頁面(幻燈片效果)時出現的動畫。到目前爲止,我能夠觸發這個事件的唯一方法是手動導航到頁面,就像我在我的問題中建議的那樣(Content.xaml == Panorama Page),或者通過重新激活該頁面上的應用程序。

+0

所以當用戶按下Content.xaml的按鈕時你想要做什麼。你想退出應用程序還是想要在MainPage.xaml中? – Vaysage 2011-04-01 04:58:09

+0

什麼託管導航框架? – 2011-04-01 05:10:48

+0

@Vaysage是的,這正是我想要完成的。應用程序將退出。 – loyalpenguin 2011-04-01 05:13:37

回答

8

這裏最簡單的方法是通過使其成爲位於Content.xaml頁面頂部的全屏UserControl,完全避免瞬態加載/啓動頁面。

加載完成後,只需在UserControl上設置Visibility = Collapsed,即刻在您的內容頁面上。

現在,當用戶按下後,您的應用程序按預期退出。

當你的應用程序被Tombstone化時,這種方法也很好用。

+0

是的,這是目前我正在使用的方法。請參閱wp7中導航到「全景圖頁面」時出現的簡短動畫。到目前爲止,我能夠觸發這一點的唯一方法是手動導航到頁面或重新激活該頁面上的應用程序。通過使用UserControl,該頁面剛剛出現。 – loyalpenguin 2011-04-01 13:54:08

+1

您可以嘗試的另一種選擇是使用UriMapper重定向初始導航:http://blogs.msdn.com/b/ptorr/archive/2010/08/28/redirecting-an-initial-navigation。 aspx – 2011-04-01 14:49:58

+0

您提供的鏈接完美無缺。非常感謝。 – loyalpenguin 2011-04-01 17:04:28