2012-02-18 19 views
0

是否有可能在不使用導航服務的情況下捕捉後退按鈕事件?WP7 - 沒有導航服務的後退按鈕

A previous post here on StackOverflow描述了僅在使用導航服務時纔會觸發後退按鈕事件(過載按鈕OnBackKeyPress和事件處理程序PhoneApplicationPage_BackKeyPress)。

我的實現是:

//Prepare the page; 
NextPage page = new NextPage(); 

//When we are ready to transition 
page.someData = data; 
page.parent = this; 
this.Content = page; 

我用這讓我以後可以(基本上,這樣我可以緩存其存儲使用的頁面,尤其是因爲我的一些網頁從網上下載信息,所以我可以通過它像上面的數據。不過,我還是需要使用後退按鈕返回到主頁。

反正是有觸發後退按鈕,而採用上述方法?

+0

我假設您正在構建Silverlight應用程序。你下載了什麼? HTML,XML,圖片,音樂?你爲什麼要存儲一個頁面? IMO更好的想法是存儲數據。 – 2012-02-18 03:24:42

+0

下載了一些不同的東西。最大的問題是MainPage是一個數據透視頁面,數據透視圖中的每個單獨的「選項卡」都會收集一些數據(如字符串),然後打開相關的選項卡。例如,一款應用包含:主頁,XNA遊戲頁面和XAML排行榜頁面。在主頁上,我想收集一個名稱字符串。然後,我希望這個名稱字符串可以在XNA頁面和排行榜頁面上都可用,當用戶從主頁打開它們時。 – Dragonseer 2012-02-18 03:35:00

+0

我很確定''OnBackKeyPressed'事件與硬件按鈕一起工作。但是,你可以使用'OnNavigatedFrom'嗎? – 2012-02-18 05:22:33

回答

0

存儲整個頁面以緩存數據尤其是在像.Net CF這樣的有限環境中是一個糟糕的主意。

  • 它應用程序複雜化(複雜導航邏輯,可能週期)的數據的相對少量的處理例如當
  • 應用程式在IsolatedStorageSettings.ApplicationSettings限於存儲器90MB

Store中的數據幾個字符串,xml文件< 1KB。否則將數據存儲在隔離存儲中的文件中,例如音樂,圖片,巨大的xmls等。