Windows Phone 7 中各種Task解說(啟動器與選取器)

來源:互聯網
上載者:User

一、常用Task

      所有的Task都有Show方法,調用Show方法啟動任務,任務執行完成一般會返回應用,所有的Task(任務)都不是自動啟動的,需要使用者手動點擊,這是WindowPhone7基於安全考慮防止泄密的吸費等問題。

    這裡我們需要添加以下命名空間:

using Microsoft.Phone.Tasks;

1.1 SmsComposeTask 

啟動傳送簡訊的任務,可以通過To,Body兩個屬性設定對方的號碼和簡訊的內容,在設定好To和Body的內容後,需要調用Show方法,才會顯示傳送簡訊的介面。

範例程式碼:

private void Sendbutton_Click(object sender, RoutedEventArgs e)        {            SmsComposeTask sendms = new SmsComposeTask();            sendms.To = "10086";            sendms.Body = "話費查詢";            sendms.Show();        }

1.2 EmailComposeTask

    啟動發送Email的服務,同樣的可以通過設定To,Subject,Body,CC屬性來分別設定收件者,標題,內容和抄送人。

範例程式碼:

 private void Sendbutton_Click(object sender, RoutedEventArgs e)        {            EmailComposeTask sendemail=new EmailComposeTask();            sendemail.To="972103830@qq.com";            sendemail.Subject=" 你好";            sendemail.Body="你好,這是。。。發給你發的簡訊!";            sendemail.Show();        }

1.3 WebBrowserTask 

      啟動瀏覽器服務,可以通過設定URL路徑(URL表示絕對路徑)或者Uri(相對路徑)。

代碼如下:

private void Sendbutton_Click(object sender, RoutedEventArgs e)        {            WebBrowserTask webtask = new WebBrowserTask();            webtask.URL = "http://www.baidu.com";            webtask.Show();        }

1.4 PhoneCallTask 

      啟動windows phone 打電話的服務,可以通過設定DisplayName和PhoneNumber來設定連絡人名字和連絡人電話號碼。

範例程式碼:

 private void Sendbutton_Click(object sender, RoutedEventArgs e)        {            PhoneCallTask phoneTask = new PhoneCallTask();            phoneTask.DisplayName = "中國移動";            phoneTask.PhoneNumber = "10086";            phoneTask.Show();        }

一些Task還會返回一個執行結果的參數,這些任務一般都是繼承自ChooserBase,並包含一個監聽任務的Completed事件,可以從事件參數e 中獲得執行的結果,所有任務事件參數e都含有一個TaskResult屬性,並有三個值,即任務處理的三種情況:Ok.表示任務執行成功,Cancel.表示任務被取消,Erro.表示執行過程發生錯誤。下面我們看一看具體的任務名稱:

1.5  SavePhoneNumberTask 

      用來儲存電話號碼的任務,可以通過設定PhoneNumber屬性來設定儲存的電話號碼是多少。注意在此不能設定電話號碼的連絡人名稱,需要啟動任務後手動的添加。

範例程式碼:

 private void Sendbutton_Click(object sender, RoutedEventArgs e)        {            SavePhoneNumberTask  savephonenum =  new  SavePhoneNumberTask();            savephonenum.PhoneNumber = "15040057978";            savephonenum.Completed  +=  new EventHandler<TaskEventArgs>(savephonenum_Completed);            savephonenum.Show();        }        void savephonenum_Completed(object sender, TaskEventArgs e)        {            if (e.Error != null)            {                MessageBox.Show("錯誤");            }            if (e.TaskResult == TaskResult.OK)            {                MessageBox.Show("儲存成功!");            }            if (e.TaskResult == TaskResult.Cancel)            {                MessageBox.Show("任務已被取消!");            }        }

1.6 PhoneNumberChooserTask   

      用來選擇電話號碼的任務,其中事件參數e 包含一個PhoneNumber屬性,可以用來獲得選擇的號碼。

範例程式碼:

private void button1_Click(object sender, RoutedEventArgs e)        {            PhoneNumberChooserTask    ChooserphoneNum  =  new PhoneNumberChooserTask();            ChooserphoneNum.Completed += new EventHandler<PhoneNumberResult>(ChooserphoneNum_Completed);            ChooserphoneNum.Show();        }        void ChooserphoneNum_Completed(object sender, PhoneNumberResult e)        {            if (e.Error == null && e.TaskResult == TaskResult.OK)            {                MessageBox.Show(e.PhoneNumber);            }        }

1.7 CameraCaptureTask 

       用來拍照的任務,其中事件參數e 包含一個ChosenPhoto屬性,可以用來獲得拍照的圖片。

範例程式碼:

 private void TakePhotobutton_Click(object sender, RoutedEventArgs e)        {            CameraCaptureTask takePhoto = new CameraCaptureTask();            takePhoto.Completed += new EventHandler<PhotoResult>(takePhoto_Completed);            takePhoto.Show();        }        void takePhoto_Completed(object sender, PhotoResult e)        {            if (e.Error == null && e.TaskResult == TaskResult.OK)            {                BitmapImage bitmap = new BitmapImage();//定義流資料格式的圖片                bitmap.SetSource(e.ChosenPhoto);//設定流資料來源                image1.Source = bitmap;//將流資料圖片賦給Image            }        }

1.8 PhotoChooserTask 

用來選擇圖片的任務,包含以下幾個屬性:

PixelWidth:設定選取的圖片的寬度,單位是像素

PixelHeight:設定選取圖片的高度,單位是像素

ShowCamera:設定是否允許拍照,true OR false.

如果選取的圖片大於我們所設定的大小(即PixelWidth 和PixelHeight),將自動經行裁剪到我們所設定的圖片大小。

同理事件參數 e 也包含ChosenPhoto屬性,和之前的CameraCaptureTask一樣。

範例程式碼:

  private void ChoosePhotoButton_Click(object sender, RoutedEventArgs e)        {            PhotoChooserTask choosephoto = new PhotoChooserTask();            choosephoto.PixelWidth=200;            choosephoto.PixelHeight=200;            choosephoto.ShowCamera = true;choosephoto.Completed += new EventHandler<PhotoResult>(choosephoto_Completed);            choosephoto.Show();        }        void choosephoto_Completed(object sender, PhotoResult e)        {            if (e.TaskResult == TaskResult.OK && e.Error != null)            {                BitmapImage bitimage = new BitmapImage();                bitimage.SetSource(e.ChosenPhoto);                image1.Source = bitimage;            }        }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.