上一篇咱們介紹瞭如何在Windows Phone程序中使用啓動器。本文,咱們來看看程序中與啓動器類似的功能——選擇器。html
什麼是選擇器?ide
選擇器比啓動器略複雜一些,由於它們要將數據帶回到程序中,而啓動器只是讓用戶去完成一個任務。咱們將講解此平臺上每一個可用的選擇器。本文的最後,我提供了一個可下載的包含了全部描述過的選擇器的代碼示例。工具
對每一個選擇器而言,你都要確保在代碼後置的文件中包含了下面的語句。咱們須要引用Microsoft.Phone.Tasks名稱空間。post
using Microsoft.Phone.Tasks;測試
下面是目前可用的選擇器:spa
CameraCaptureTask – 爲用戶提供在程序中直接拍照的功能。調試
EmailAddressChooserTask – 在程序中容許用戶從聯繫人裏面選擇一個郵件地址。htm
PhoneNumberChooserTask – 在程序中容許用戶從聯繫人裏面選擇一個電話號碼。blog
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);
- p_w_picpath1.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