Windows Phone 7 中的切換應用

作者: Alexis  來源: 博客園  發布時間: 2011-03-23 10:40  閱讀: 883 次  推薦: 0   原文鏈接   [收藏]  

  像Windows 系統的多任務一樣,Windows Phone 7中也可以切換應用程序,注意不是關閉程序,而是切換。關閉程序是指將程序徹底從內存中移除了,但是切換程序,則該程序只是被deactivate了。

  這里不具體討論Windows Phone 7在啟動時做了些什么,在關閉時做了些什么,在切換任務時做了些什么,本文僅是以PhoneApplicationService實現切換任務時保存應用程序時的狀態,下次打開程序時原來之前保存的狀態。至于前面那些問題,有時間會寫博客跟大家分享。

  PhoneApplicationService 類

  位于Microsoft.Phone.Shell下的PhoneApplicationService類提供了獲得應用程序生命周期信息的途徑。這些信息包括應用程序閑置狀態,以及應用程序激活與否時的狀態的管理。

  來自MSDN解解:

The PhoneApplicationService class provides access to various aspects of the application’s lifetime. This includes management of the application’s idle behavior and management of the application’s state when it becomes active or inactive.

  我們可以看一下這個類的結構,我們在下面的代碼中會用到該類的兩個屬性Current和State,至于其他的有興趣的朋友可以自行研究。

  Current可以獲取當前應用程序的PhoneApplicationService的實例:

  State是一個基于鍵值對的IDictionary,用來保存你想保存當前應用程序的狀態:

實現步驟

  1. 創建一個Windows Phone 7 應用程序,向名為ContentPanel的Grid中添加TextBox,命名為tbUserName,Text屬性清空。

  2. 雙擊tbUserName,導航到后置代碼,編寫tbUserName的TextChanged事件,如下圖:

  3. 編輯應用程序啟動事件,代碼如上圖。

  我們可以先運行下程序,在輸入框中輸入一些字母,然后按后退鍵,或者啟動鍵,再次進入應用程序時,輸入框仍然是空的。

  4. 接下來我們在App.xaml.cs中編寫如下代碼,設置狀態和加載狀態方法。

  5. 在Application_Launching、Application_Activated 中調用加載方法,Application_Deactivated、Application_Closing中調用設置狀態方法。

6. 然后我們再來試一下在步驟3中的操作,會發現再次進入應用程序時,剛剛輸入的內容還在輸入框中。

  源代碼下載:

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜

    大師兄 發表在 痞客邦 留言(0) 人氣()