Windows Phone 7 問答(答案部分)

來源:互聯網
上載者:User

前陣子發布了Windows Phone 7 問答 涉及到Windows Phone 中基本的問題,現在把參考答案也貼出來,供大家學習之用。

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

參考答案: 

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問答整理為電子書, 點我下載 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.