天天看點

31天學會Windows Phone 7開發:選擇器

 上一篇我們介紹了如何在Windows Phone程式中使用啟動器。本文,我們來看看程式中與啟動器相似的功能——選擇器。

什麼是選擇器?

選擇器比啟動器略複雜一些,因為它們要将資料帶回到程式中,而啟動器隻是讓使用者去完成一個任務。我們将講解此平台上每個可用的選擇器。本文的最後,我提供了一個可下載下傳的包含了所有描述過的選擇器的代碼示例。

對每個選擇器而言,你都要確定在代碼後置的檔案中包含了下面的語句。我們需要引用Microsoft.Phone.Tasks名稱空間。

using Microsoft.Phone.Tasks;

下面是目前可用的選擇器:

CameraCaptureTask – 為使用者提供在程式中直接拍照的功能。

EmailAddressChooserTask – 在程式中允許使用者從聯系人裡面選擇一個郵件位址。

PhoneNumberChooserTask – 在程式中允許使用者從聯系人裡面選擇一個電話号碼。

PhotoChooserTask – 在程式中允許使用者從裝置裡選擇一張照片。

使用選擇器

每個選擇器都有自己的屬性,但在設定之後,你需要調用Show方法向使用者展示。你可以在選擇器中用Show方法來實作。在衆多選擇器中要記住的一點是在使用者做出選擇後你需要建立一個事件處理程式。否則,你将無法捕獲他們所選的資料。

作為例子,來看一下CameraCaptureTask:

  1. CameraCaptureTask cct = new CameraCaptureTask();  
  2. cct.Completed += new EventHandler (cct_Completed);  
  3. cct.Show(); 

這是我添加的事件處理程式:

  1. void cct_Completed(object sender, PhotoResult e)  
  2. {  
  3.      BitmapImage bmp = new BitmapImage();  
  4.      bmp.SetSource(e.ChosenPhoto);  
  5.      p_w_picpath1.Source = bmp;  

你會注意到我為在使用者拍照時建立了一個事件處理程式。這也是我在程式中擷取并使用照片資料的方式。當你在模拟器中測試時,你會看到實際上它并不能利用攝像頭。而隻是建立了一幅在白色畫布中有一個旋轉黑塊的假圖檔。這應該可以滿足你的測試了,但我還是建議在上傳你的程式到Marketplace之前用真實裝置測試一下。

我已經将每一個選擇器的名字連結到MSDN相應的文章中,在那兒你可以看到所有的屬性。是以我就不在這兒進行這種大量的複制勞動了。明天我們讨論在調試Windows Phone 7應用程式時一些對你有用的工具。

下載下傳示例代碼

這個例子包含了上述的所有選擇器。

繼續閱讀