1. Windows Phone 7是一個多任務的作業系統,但是只允許唯一一個第三方應用程式在前 台運行
2. 啟動器和選取器為應用程式提供間接訪問手機內建功能的方法。
一些內建的啟動器:EmailComposeTask、MarketplaceDetailTask、MarketplaceHubTask 、MarketplaceReviewTask、MarketplaceSearchTask、MediaPlayerLauncher、 PhoneCallTask、SearchTask、SmsComposeTask、WebBrowserTask。
一些內建的選取器:CameraCaptureTask、EmailAddressChooserTask、 PhoneNumberChooserTask、PhotoChooserTask、SaveEmailAddressTask、 SavePhoneNumberTask。
3. 當啟動啟動器或者選取器時,應用程式會進入Deactivate狀態(注意不一定會 Tombstone)當Task唯寫完畢後,原有應用程式會被重新啟用,應用程式會調用Activated事 件,頁面會觸發OnNavigationTo事件
4. 如果Windows Phone 7中的應用程式被Tombstone了,那麼再次開啟應用程式時,會生 成一個新的執行個體,即會調用App和頁面的建構函式,所以我們的邏輯代碼不要放到建構函式中 ,而是在Application_Activated、OnNavigationTo事件中寫恢複狀態的代碼。
5. 判斷Windows Phone 7中的網路是否可用
if (Microsoft.Phone.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) { //網路可用情況下的代碼 } else { //網路不可用,給以提示 }
6.Windows Phone 7中的導航類:PhoneApplicationFrame 和 PhoneApplicationPage . Windows Phone 7中的別名導航支援如下的
<nav:UriMapper x:Key="nav">
<nav:UriMapping Uri="Home" MappedUri="/Pages/Views/Default.xaml"/>
<nav:UriMapping Uri="About-Us" MappedUri="/Pages/Views/Misc/About.xaml"/>
<nav:UriMapping Uri="Page/{number}" MappedUri="/Pages/Views/Books/Page{number}.xaml"/>
<nav:UriMapping Uri="Customers/{id}" MappedUri="/Pages/Views/Data/Page.xaml?action=getCustomer&id={id} "/>
<nav:UriMapping Uri="Products/{id}" MappedUri="/Pages/Views/Data/Page.xaml?action=getProduct&id={id} "/>
<nav:UriMapping Uri="Orders/{type}&{id}&{date}" MappedUri="/Pages/Views/Data/Page.xaml?action={type}&orderId={id} &orderDate={number}"/>
</nav:UriMapper>
7.WMAppManifest.xml :一個包含了應用程式特定資料的中繼資料檔案,包括標題,表徵圖位 置,功能等等。
8. 頁面導航方案
(1)在XAML代碼直接寫XAML檔案地址,如
<HyperlinkButton Content="Pasta" NavigateUri="/Pasta.xaml" Height="30" HorizontalAlignment="Left"
Margin="10,10,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="200" />
(2)在XAML代碼中利用別名進行導航,需要在App.xaml中配置
(3)利用事件處理,如 NavigationService.Navigate(new Uri("/Pasta.xaml", UriKind.Relative));