上一篇我們介紹瞭如何在Windows Phone程序中使用啓動器。本文,我們來看看程序中與啓動器相似的功能——選擇器。
什麼是選擇器?
選擇器比啓動器略複雜一些,因爲它們要將數據帶回到程序中,而啓動器只是讓用戶去完成一個任務。我們將講解此平臺上每個可用的選擇器。本文的最後,我提供了一個可下載的包含了所有描述過的選擇器的代碼示例。
對每個選擇器而言,你都要確保在代碼後置的文件中包含了下面的語句。我們需要引用Microsoft.Phone.Tasks名稱空間。
using Microsoft.Phone.Tasks;
下面是目前可用的選擇器:
CameraCaptureTask – 爲用戶提供在程序中直接拍照的功能。
EmailAddressChooserTask – 在程序中允許用戶從聯繫人裏面選擇一個郵件地址。
PhoneNumberChooserTask – 在程序中允許用戶從聯繫人裏面選擇一個電話號碼。
PhotoChooserTask – 在程序中允許用戶從設備裏選擇一張照片。
使用選擇器
每個選擇器都有自己的屬性,但在設定之後,你需要調用Show方法向用戶展示。你可以在選擇器中用Show方法來實現。在衆多選擇器中要記住的一點是在用戶做出選擇後你需要創建一個事件處理程序。否則,你將無法捕獲他們所選的數據。
作爲例子,來看一下CameraCaptureTask:
- CameraCaptureTask cct = new CameraCaptureTask();
- cct.Completed += new EventHandler
(cct_Completed); - cct.Show();
這是我添加的事件處理程序:
- void cct_Completed(object sender, PhotoResult e)
- {
- BitmapImage bmp = new BitmapImage();
- bmp.SetSource(e.ChosenPhoto);
- image1.Source = bmp;
- }
你會注意到我爲在用戶拍照時創建了一個事件處理程序。這也是我在程序中獲取並使用照片數據的方式。當你在模擬器中測試時,你會看到實際上它並不能利用攝像頭。而只是創建了一幅在白色畫布中有一個旋轉黑塊的假圖片。這應該可以滿足你的測試了,但我還是建議在上傳你的程序到Marketplace之前用真實設備測試一下。
我已經將每一個選擇器的名字鏈接到MSDN相應的文章中,在那兒你可以看到所有的屬性。所以我就不在這兒進行這種大量的複製勞動了。明天我們討論在調試Windows Phone 7應用程序時一些對你有用的工具。
下載示例代碼
這個例子包含了上述的所有選擇器。
原作者:Jeff Blankenburg 譯者:金山崟霸
中文來源:http://www.cnblogs.com/porscheyin/archive/2010/12/22/1913918.html
英文來源:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-8-Choosers.aspx