天天看點

Windows Phone 7 問答(答案部分)

 1. Windows Phone 7 應用程式的xap包最大為多大 ?

參考答案: 400MB  225MB

2. 怎麼設定Windows Phone 7應用程式的ico圖示?

參考答案 :右擊項目--設定icon屬性為自己的圖檔即可,注意圖檔生成方式選擇content

3. 怎麼替換Windows Phone 7中的啟動畫面?

參考答案: 将SplashScreenImage替換為自己的圖檔即可,注意圖檔的分辨率跟原來預設的保持一緻

4. 談談怎麼在Windows Phone 7 中使用别名進行頁面的導航。

參考答案: 在App.xaml中配置比對别名,添加命名空間

xmlns:nav="clr-namespace:System.Windows.Navigation;assembly=Microsoft.Phone" 配置比對标簽如下:  

<Application.Resources> <nav:UriMapper x:Name="uriMapper"> <nav:UriMapping Uri="Pan" MappedUri="/PanoramaPage1.xaml"></nav:UriMapping> </nav:UriMapper> </Application.Resources>  

然後在其後置代碼App.xaml.cs的App()方法中添加如下代碼:  

this.RootFrame.UriMapper = Resources["uriMapper"] as UriMapper; 然後我們就可以在XAML代碼中使用别名來找到具體的頁面了  

<HyperlinkButton Content="Alexis" Height="30"  Name="hyperlinkButton1"  Width="200" NavigateUri="Pan" /> 

5. 談談Windows Phone 7 中頁面的傳值方式。

參考答案: 傳遞頁

<HyperlinkButton Content="Alexis" Height="30" Name="hyperlinkButton1"  Width="200"  NavigateUri="/PanoramaPage1.xaml?username=alexis" />  

或者使用别名  

<HyperlinkButton Content="Alexis" Height="30" Name="hyperlinkButton1"  Width="200"   

NavigateUri="Pan?username=alexis" />  

接受頁 在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中應用程式的生命周期,能不能畫張圖示範下程式的生命周期?

參考答案: 

<a href="http://blog.51cto.com/attachment/201105/111127982.png" target="_blank"></a>

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檔案位址,如&lt;HyperlinkButton Content="Pasta" NavigateUri="/Pasta.xaml" Height="30" HorizontalAlignment="Left"

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 中常見的頁面布局有哪些?

<a href="http://blog.51cto.com/attachment/201105/111316861.jpg" target="_blank"></a>

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問答整理為電子書,下載下傳位址

    本文轉自xshf12345 51CTO部落格,原文連結:http://blog.51cto.com/alexis/575402,如需轉載請自行聯系原作者

繼續閱讀