在blend 中,右擊PhoneApplicationPage ,可以添加ApplicationBarIconButton 。在IconUri 下拉式清單中選擇所需的按鈕表徵圖。
在blend 中,右鍵文本控制項,選擇 編輯樣式,再單擊“應用資源”,可以選擇系統內建的樣式。
可以右鍵一個控制項,在彈出的捷徑功能表中選擇“導航到”項目中的一個頁面。
TextBox 可以指定 InputScope 屬性來指定使用者要輸入的資料的類型,手機螢幕會顯示不同的軟體盤。System.Windows.Input命名空間下的 InputScopeNameValue 枚舉中定義了所有可以設定的InputScope屬性。
<Application
x:Class="PhoneApp7.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
<!--應用程式資源-->
<Application.Resources>
</Application.Resources>
<Application.ApplicationLifetimeObjects>
<!--處理應用程式的生存期事件所需的對象-->
<shell:PhoneApplicationService
Launching="Application_Launching" Closing="Application_Closing"
Activated="Application_Activated" Deactivated="Application_Deactivated"/>
</Application.ApplicationLifetimeObjects>
</Application>
這是app.xaml代碼,主要功能是初始化了 Application的 ApplicationLifetimeObject 屬性,建立了一個 PhoneApplicationService對象。 PhoneApplicationService類提供了應用程式不同生命階段的訪問功能,包含了對應用程式處於空閑狀態的管理,也包含了當應用程式處於有效或無效狀態時的管理。
Application 類的 RootFrame 屬性是標識應用程式的啟動頁面。所有的Winphone應用程式都 有一個頂層的視窗設計項目,它的資料類型是 PhoneApplicationFrame 。這個架構
承載一個或多個用來標識應用程式內容的 PhoneApplicationPage元素,同時它還用來處理不同頁面之間的導航切換。
開發人員可以在SL應用中處理三種不同的 Manipulation事件,來實現 對單點和多點觸摸的響應,達到移動和縮放對象的目的。這三種事件如下:
1 \ ManipulationStarted:使用者一個或多個手指觸控螢幕幕會觸發這個事件。
2、ManipulationDelta: 使用者一個或多個手指在螢幕上移動時會反覆觸發這個事件。
3、ManipulationCompleted: 使用者一個或多個手指離開螢幕時會觸發這個事件。
技巧:在模擬器中調試應用程式時可以使用電腦鍵盤進行輸入,使用 Pause/Break 鍵或 PageUp/PageDown 鍵可以在屏虛擬鍵盤和電腦鍵盤間進行切換。當輸入切換到電腦鍵盤後,手機的回退,開始,搜尋三個按鍵分別用 F1,F2,F3類比。
在應用程式瞬間轉為後台時,會進入休眠狀態,應用程式的狀態可被開發人員儲存到 Microsoft.Phone.Shell 命名空間下 PhoneApplicationService 類的 State成員屬性中。當應用程式休眠時, State中的瞬間狀態被作業系統儲存到記憶體。當休眠的應用程式複蘇時,作業系統會將State中的內容恢複到休眠前的狀態。State 的內容一直被儲存在記憶體中,所以存取速度比儲存獨立外存中的永久性資料快得多。然而 State 中的瞬間狀態只在應用程式休眠時才有效。一旦休眠的應用程式被關閉或新執行個體被啟動, State 中將不同包含任何資料。如果休眠程式佔用了系統需要的資源,則這個休眠的應用程式會關閉, State中儲存的瞬間狀態也被釋放 。
WP7 應用程式生命週期:啟動(Launching)、結束(Closing)、暫停(Deactivated)、啟用(Activated)。它們都是 PhoneApplicationSerrvie類的成員。
1、Launching: 在處理這個事件時,注意不應該從隔離儲存區 (Isolated Storage)讀所有永久資料。因為系統在處理完這個事件之後才在螢幕上顯示應用程式首頁。合理的方法是在啟動時唯讀取顯示首頁用到的永久資料,待應用程式啟動後以非同步方式裝載其他永久資料。
處理Launching事件時,開發人員不應該恢複應用程式過去執行個體的瞬間狀態。應用程式一旦被啟動,使用者的體驗應該是一個從頭開始的執行個體。
2、Closing,處理這個事件時,開發人員應該把所有的永久資料儲存到隔離儲存區 (Isolated Storage)中。處理Closing時,開發都沒有必要儲存當前執行個體的瞬間狀態,也就是那些只和本次運行相關的資訊。
3、Deactivated 應用程式進行休眠狀態。處理這個事件時,應該把程式的瞬間狀態完全儲存到PhoneApplicationService 類的 State 屬性裡。在必要時恢複這些瞬間狀態。在處理這個事件時,也應該把應用程式的永久性資料儲存到 隔離儲存區 (Isolated Storage)中。否則當被停用的應用程式不同被啟用而被重新啟動時,永久資料不會丟失。處理這個事件所有操作要在10秒內完成,否則OS就終止應用程式。
4、Activate 當一個應用程式被暫停和休眠後,這個應用程式可能再也不被啟用。這可能是因為使用者從首頁啟動一個應用程式的新執行個體。處理這個事件時,應該從PhoneApplicationService 類的State屬性中讀取程式的瞬間狀態。同時也要注意不應該在這個事件中去讀取隔離儲存區 (Isolated Storage)的資料。
有時候,我們還要儲存休眠前的導航的使用者介面,PhoneApplicationPage類的 OnNavigatedTo 和 OnNavigatedFrom 成員事件可以用來實現 這個操作。簡單地說,開發人員只要在 OnNavigatedFrom中儲存使用者介面,並在OnNavigatedTo中恢複使用者介面。
推播通知有三種: 瓷磚通知(Tile),彈出通知Toast,原生通知Raw