Windows Phone 7 開發 31 日談——第3日:返回鍵
By Jeff Blankenburg
本文是“Windows Phone 7 開發 31 日談” 系列的第3日。
昨天,我們討論了頁面導航,以及如何簡單的呼叫NavigationService從而到達程式中的不同頁面。簡要地提到了返回鍵,但返回鍵的複雜性是值得在本系列中單獨成文的,主要是因為你可以重寫(override) 返回鍵的行為。
返回鍵如何工作
和瀏覽器中的返回按鈕很相似。你可以點選它通過會話的決策資訊後退。它能讓你跨越多個站點,還有這些站點中的每個頁面。Windows Phone中的返回鍵工作方式與之相同。它能讓你回到之前訪問過的頁面,甚至是跨應用程式!
例如,如果我:
- 開啟人物中心(People Hub)。
- 在聯絡人列表中選擇“Jeff Blankenburg”。
- 點選他的家庭地址(使我們進入地圖應用程式)。
- 點選開始按鈕。
- 開始遊戲。
當點選返回鍵時,會沿著發生的事件列表後退。
重寫返回鍵行為
是的,你沒看錯!你可以如你所想重定義返回鍵的行為。但這不表明允許你通過這種能力做一些不負責任的行為。在任何你想重寫返回鍵行為的時候,你應該確認你所認為的“返回”的意思和你的使用者所想的是一樣。
例如,你開啟了一個彈出框,使用者的肌肉記憶可能會使他們按下返回鍵來關閉彈出框。在這種情況下,他們的本意不是離開應用程式,“返回”僅僅意味著擺脫彈出的對話方塊。
另一個例子,如果你有個遊戲依賴於計時器或實時動作,使用返回鍵來暫停遊戲就比較合適而非讓人立即離開。下面是一些此類事件的指導原則:
- 你應該設身處地為使用者考慮那一時刻“返回”對他們意味著什麼。
- 如果再次使用者按下返回鍵,你應該讓預設行為執行。
- 使用返回鍵暫停遊戲是個非常好的想法,但再按一次意味著他們真的想返回到前面,那就得讓他們能後退。
這是在Windows Phone中重寫返回鍵的程式碼:
[c-sharp] view plaincopy
- protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
- {
- //你自己的程式碼。認真負責些。
- e.Cancel = true; //取消預設行為。
- }
明天我們討論裝置的方向以及如何在程式中處理橫縱方向問題。
原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-3-The-Back-Button-Paradigm.aspx
相關文章
- Windows Phone 7 開發 31 日談——第7日:啟動器Windows
- Windows Phone 7 開發 31 日談——第25日:外部APIWindowsAPI
- Windows Phone 7 開發 31 日談——第24日:嵌入字型Windows
- Windows Phone 7 開發 31 日談——第19日:推送通知Windows
- Windows Phone 7 開發 31 日談——第21日:Silverlight Toolkit for Windows PhoneWindows
- Windows Phone 7 開發 31 日談——第16日:全景檢視Windows
- Windows Phone 7 開發 31 日談——第13日:位置服務Windows
- Windows Phone 7 開發 31 日談——第8日:選擇器Windows
- Windows Phone 7 開發 31 日談——第4日:裝置方向Windows
- Windows Phone 7 開發 31 日談——第1日:專案模板Windows
- Windows Phone 7 開發 31 日談——第18日:WebBrowser控制元件WindowsWeb控制元件
- Windows Phone 7 開發 31 日談——第15日:獨立儲存Windows
- Windows Phone 7 開發 31 日談——第11日:加速感應器Windows
- Windows Phone 7 開發 31 日談——第5日:系統主題Windows
- Windows Phone 7 開發 31 日談——第2日:頁面導航Windows
- Windows Phone 7 開發 31 日談——第22日:應用?還是 遊戲?Windows遊戲
- Windows Phone 7 開發 31 日談——第20日:地圖控制元件Windows地圖控制元件
- Windows Phone 7 開發 31 日談——第17日:樞軸控制元件Windows控制元件
- Windows Phone 7 開發 31 日談——第14日:墓碑機制(多工)Windows
- Windows Phone 7 開發 31 日談——第12日:使手機震動Windows
- Windows Phone 7 開發 31 日談——第23日:提供試用版應用程式Windows
- Windows Phone 7 開發 31 日談——第26日:與其他開發人員(免費)分享你的程式Windows
- 一起學Windows Phone7開發(十四.一 Phone Task)Windows
- Windows Phone7開發系列視訊地址Windows
- ·Windows Phone 7首款機型8月25日開賣Windows
- 使用XNA為Windows phone 7開發簡單拼圖遊戲Windows遊戲
- Windows Phone 8開發連結Windows
- windows phone資料庫開發Windows資料庫
- Windows Phone 8 開發筆記Windows筆記
- 開發WP7專案的好工具: Windows Phone CommandsWindows
- 《Windows Phone 7入門經典之使用Silverlight和XNA開發Windows Phone應用》書評Windows
- Windows Phone 7 墓碑機制Windows
- Windows Phone 7程式設計Windows程式設計
- 淺談Windows Phone 7本地資料庫的選擇Windows資料庫
- HTML Agility Pack for Windows Phone 7 (WP7)HTMLWindows
- Windows Phone 7解析圖片格式Windows
- Windows Phone 8開發知識筆記Windows筆記
- 學習Windows Phone 7 手機開發的一些資源連結Windows