接受頁 在Load事件中if (NavigationContext.QueryString.ContainsKey("username")) { tbUserName.Text = NavigationContext.QueryString["username"].ToString(); }
6. 怎麼在Windows Phone 7 中禁用物理回退鍵?
參考答案: 在PhoneApplicationPage_BackKeyPress中設定e.Cancel = true
7. 怎麼在Windows Phone 7 中隱藏和顯示系統托盤?
參考答案: 在後置代碼中Microsoft.Phone.Shell.SystemTray.IsVisible = true; 或者在XAML中也可以同樣可以設定
8. Application Bar最多支援幾個表徵圖?
參考答案:4個
9. 談談Windows Phone 7中常見的UI布局控制項。
參考答案: Canvas:絕對位置控制項,速度快,可用於遊戲
Grid:網格定位控制項,比較常用StackPanel:自動定位控制項,推薦使用與小地區10. 談談Windows Phone 7中應用程式的生命週期,能不能畫張圖示範下程式的生命週期?
參考答案:
11. 知道圖片的產生方式為Resource和Content的區別嗎?
參考答案: 產生方式為Resource的圖片會被編譯到應用程式集(DLL)裡,而產生方式為Content的圖片則會被部署到XAP包中
12. 說說當我點擊Windows Phone 7 的物理回退鍵時可能發生的情況。
參考答案: (1). 當你點擊回退按鈕式,程式必須返回上一個頁面
(2). 如果你是在程式的第一個頁面點擊回退按鈕,則應用程式必須推出
(3). 如果你的應用程式真在現實一個對話方塊或者Context Menu,點擊回退按鈕時,Windows Phone 7自動關閉對話方塊或者 Context Menu。
13. 談談你知道的啟動器、選取器,選取器和啟動器有什麼區別?
參考答案:一些內建的啟動器:EmailComposeTask、MarketplaceDetailTask、MarketplaceHubTask、MarketplaceReviewTask、MarketplaceSearchTask、MediaPlayerLauncher、PhoneCallTask、SearchTask、SmsComposeTask、WebBrowserTask。
一些內建的選取器:CameraCaptureTask、EmailAddressChooserTask、PhoneNumberChooserTask、PhotoChooserTask、SaveEmailAddressTask、SavePhoneNumberTask區別:啟動器沒有傳回值,選取器有返回結果 。
14. 什麼是墓碑機制(Tombstoning)?為什麼要有這個機制?
參考答案 :在Windows Phone中,由於使用者離開當前應用程式,作業系統暫停該應用程式,但儲存瞬間狀態,以便隨時恢複。為了保證快速而且一致的使用者體驗,Windows Phone僅允許唯一的應用程式佔用系統資源在前台運行。區別於案頭作業系統,Window Phone不支援應用程式在後台運行。這是為了避免了多個應用程式競爭有限的手機資源,由此避免了的處理速度和電池電量的急速下降。
15. 怎麼判斷Windows Phone 7中的網路是否可用?
參考答案:NetworkInterface 提供了一個判斷當前網路是否可可用的方法GetIsNetworkAvailable。
if (Microsoft.Phone.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
{ //網路可用情況下的代碼}
else
{ //網路不可用,給以提示}
16. 在Windows Phone 7中WMAppManifest.xml這個檔案是做什麼用的?
參考答案: 一個包含了應用程式特定資料的中繼資料檔案,包括標題,表徵圖位置,功能等等。
17. 在Windows Phone 7中有幾種頁面導航方式,具體說說。
參考答案: (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));
18. Windows Phone 7 中應用程式設計需要遵循的Three Red Threads是什嗎?
參考答案: Personal、Relevant、Connected(可以略微描述下)
19. 怎麼讓我們的手機震動?
參考答案: 申明一個VibrateController對象,調用其Start方法
VibrateController vib = VibrateController.Default;
vib.Start(TimeSpan.FromMilliseconds(100));20. Windows Phone 7 中常見的頁面配置有哪些?
參考答案:
21. 談談 HttpWebRequest和WebClient的區別 。
參考答案: 1,HttpWebRequest是個抽象類別,所以無法new的,需要調用HttpWebRequest.Create();
2,其Method指定了請求類型,這裡用的GET,還有POST;也可以指定ConentType;
3,其請求的Uri必須是絕對位址;
4,其請求是非同步回調方式的,從BeginGetResponse開始,並通過AsyncCallback指定回調方法;
5,WebClient 方式使用基於事件的非同步編程模型,在HTTP響應返回時引發的WebClient回調是在UI線程中調用的,因此可用於更新UI元素的屬性,例如把 HTTP響應中的資料繫結到UI的指定控制項上進行顯示。HttpWebRequest是基於後台進程啟動並執行,回調不是UI線程,所以不能直接對UI進行操作,通常使用Dispatcher.BeginInvoke()跟介面進行通訊。22. Windows Phone 7 中的EnableFrameRateCounter 它是作什麼用的?
參考答案: 監視程式運行時的畫面播放速率
23. 怎麼將模擬器中的鍵盤輸入切換到原生實體鍵盤? 模擬器(或者實體機)中彈出的鍵盤稱為SIP,它的全稱是什麼?
參考答案: 可以使用Pause/Break鍵,或者Ctrl+PageUp(Page Down)。 全稱為Soft Input Panel。
我已經將Windows Phone Tips 系列連同Windows Phone 7問答整理為電子書, 點我下載