轉(zhuǎn)帖|其它|編輯:郝浩|2011-03-23 13:52:38.000|閱讀 1080 次
概述:這里不具體討論Windows Phone 7在啟動(dòng)時(shí)做了些什么,在關(guān)閉時(shí)做了些什么,在切換任務(wù)時(shí)做了些什么,本文僅是以PhoneApplicationService實(shí)現(xiàn)切換任務(wù)時(shí)保存應(yīng)用程序時(shí)的狀態(tài),下次打開(kāi)程序時(shí)原來(lái)之前保存的狀態(tài)。至于前面那些問(wèn)題,有時(shí)間會(huì)寫(xiě)博客跟大家分享。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
像Windows 系統(tǒng)的多任務(wù)一樣,Windows Phone 7中也可以切換應(yīng)用程序,注意不是關(guān)閉程序,而是切換。關(guān)閉程序是指將程序徹底從內(nèi)存中移除了,但是切換程序,則該程序只是被deactivate了。
這里不具體討論Windows Phone 7在啟動(dòng)時(shí)做了些什么,在關(guān)閉時(shí)做了些什么,在切換任務(wù)時(shí)做了些什么,本文僅是以PhoneApplicationService實(shí)現(xiàn)切換任務(wù)時(shí)保存應(yīng)用程序時(shí)的狀態(tài),下次打開(kāi)程序時(shí)原來(lái)之前保存的狀態(tài)。至于前面那些問(wèn)題,有時(shí)間會(huì)寫(xiě)博客跟大家分享。
PhoneApplicationService 類
位于Microsoft.Phone.Shell下的PhoneApplicationService類提供了獲得應(yīng)用程序生命周期信息的途徑。這些信息包括應(yīng)用程序閑置狀態(tài),以及應(yīng)用程序激活與否時(shí)的狀態(tài)的管理。
來(lái)自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.
我們可以看一下這個(gè)類的結(jié)構(gòu),我們?cè)谙旅娴拇a中會(huì)用到該類的兩個(gè)屬性Current和State,至于其他的有興趣的朋友可以自行研究。
Current可以獲取當(dāng)前應(yīng)用程序的PhoneApplicationService的實(shí)例:
State是一個(gè)基于鍵值對(duì)的IDictionary,用來(lái)保存你想保存當(dāng)前應(yīng)用程序的狀態(tài):
實(shí)現(xiàn)步驟
1. 創(chuàng)建一個(gè)Windows Phone 7 應(yīng)用程序,向名為ContentPanel的Grid中添加TextBox,命名為tbUserName,Text屬性清空。
2. 雙擊tbUserName,導(dǎo)航到后置代碼,編寫(xiě)tbUserName的TextChanged事件,如下圖:
3. 編輯應(yīng)用程序啟動(dòng)事件,代碼如上圖。
我們可以先運(yùn)行下程序,在輸入框中輸入一些字母,然后按后退鍵,或者啟動(dòng)鍵,再次進(jìn)入應(yīng)用程序時(shí),輸入框仍然是空的。
4. 接下來(lái)我們?cè)贏pp.xaml.cs中編寫(xiě)如下代碼,設(shè)置狀態(tài)和加載狀態(tài)方法。
5. 在Application_Launching、Application_Activated 中調(diào)用加載方法,Application_Deactivated、Application_Closing中調(diào)用設(shè)置狀態(tài)方法。
6. 然后我們?cè)賮?lái)試一下在步驟3中的操作,會(huì)發(fā)現(xiàn)再次進(jìn)入應(yīng)用程序時(shí),剛剛輸入的內(nèi)容還在輸入框中。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:博客園