设为首页 收藏本站
查看: 727|回复: 0

Windows Phone 7 中各种Task解说(启动器与选择器)

[复制链接]

尚未签到

发表于 2015-5-10 08:46:15 | 显示全部楼层 |阅读模式
  一、常用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(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(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(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(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;
}
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65382-1-1.html 上篇帖子: [Windows Phone 7璀璨]北漂1.0在线歌词播放器一.项目搭建及版权声明 下篇帖子: WPF-实现Windows 7 样式 Aero TreeView 控件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表