与众不同 windows phone (35) - 8.0 新的启动器: ShareMediaTask, SaveAppointmentTask, MapsTask, MapsDirectionsTask, MapDownloaderTask
作者:webabcd
介绍
与众不同 windows phone 8.0 之 新的启动器
- ShareMediaTask - 共享媒体文件
- ShareMediaTask - 新建“约会”到“日历”
- MapsTask - Nokia 地图
- MapsDirectionsTask - Nokia 地图行车路线
- MapDownloaderTask - 管理 Nokia 离线地图
示例
1、演示 ShareMediaTask - 共享媒体文件
Launchers/ShareMediaTaskDemo.xaml
<phone:PhoneApplicationPage
x:Class="Demo.Launchers.ShareMediaTaskDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True"> <StackPanel>
<TextBlock Name="lblMsg" TextWrapping="Wrap" /> <Button Name="btnDemo" Content="Demo" Click="btnDemo_Click" />
</StackPanel> </phone:PhoneApplicationPage>
Launchers/ShareMediaTaskDemo.xaml.cs
/*
* ShareMediaTask - 共享媒体文件
* FilePath - 需要共享的媒体文件的地址
* Show() - 弹出共享对话框(包含很多 provider,选择一个以共享媒体文件)
*/ using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks; namespace Demo.Launchers
{
public partial class ShareMediaTaskDemo : PhoneApplicationPage
{
public ShareMediaTaskDemo()
{
InitializeComponent();
} private void btnDemo_Click(object sender, RoutedEventArgs e)
{
// 选择一个图片
PhotoChooserTask photoChooserTask = new PhotoChooserTask();
photoChooserTask.ShowCamera = true;
photoChooserTask.Completed += photoChooserTask_Completed;
photoChooserTask.Show();
} void photoChooserTask_Completed(object sender, PhotoResult e)
{
lblMsg.Text = "文件地址:" + e.OriginalFileName; // 弹出共享对话框,从中选择一个 provider 以共享媒体文件
ShareMediaTask shareMediaTask = new ShareMediaTask();
shareMediaTask.FilePath = e.OriginalFileName;
shareMediaTask.Show();
}
}
}
2、演示 SaveAppointmentTask - 新建“约会”到“日历”
Launchers/SaveAppointmentTaskDemo.xaml
<phone:PhoneApplicationPage
x:Class="Demo.Launchers.SaveAppointmentTaskDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True"> <StackPanel>
<Button Name="btnDemo" Content="Demo" Click="btnDemo_Click" />
</StackPanel> </phone:PhoneApplicationPage>
Launchers/SaveAppointmentTaskDemo.xaml.cs
/*
* SaveAppointmentTask - 新建“约会”到“日历”
* StartTime - 约会的开始时间
* EndTime - 约会的结束时间
* Subject - 主题
* Details - 详细信息
* Location - 地点
* IsAllDayEvent - 是否是全天事件
* Reminder - 约会的提醒时间(Microsoft.Phone.Tasks.Reminder 枚举)
* AppointmentStatus - 约会的状态(Microsoft.Phone.UserData.AppointmentStatus 枚举)
* Show() - 弹出日历程序,并预填上指定的信息
*/ using System;
using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
using Microsoft.Phone.UserData; namespace Demo.Launchers
{
public partial class SaveAppointmentTaskDemo : PhoneApplicationPage
{
public SaveAppointmentTaskDemo()
{
InitializeComponent();
} private void btnDemo_Click(object sender, RoutedEventArgs e)
{
DateTime currentTime = DateTime.Now; SaveAppointmentTask saveAppointmentTask = new SaveAppointmentTask(); saveAppointmentTask.StartTime = currentTime.AddHours();
saveAppointmentTask.EndTime = currentTime.AddHours();
saveAppointmentTask.Subject = "喂孩子喝奶";
saveAppointmentTask.Details = "放175的水,然后放4勺奶粉,冲调出200的奶";
saveAppointmentTask.Location = "家里";
saveAppointmentTask.IsAllDayEvent = false;
saveAppointmentTask.Reminder = Reminder.FifteenMinutes; // 约会前 15 分钟显示提醒
saveAppointmentTask.AppointmentStatus = AppointmentStatus.Busy; // 此约会期间将一直处于忙碌状态 saveAppointmentTask.Show();
}
}
}
3、演示 MapsTask - Nokia 地图
Launchers/MapsTaskDemo.xaml
<phone:PhoneApplicationPage
x:Class="Demo.Launchers.MapsTaskDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True"> <StackPanel>
<Button Name="btnDemo" Content="Demo" Click="btnDemo_Click" />
</StackPanel> </phone:PhoneApplicationPage>
Launchers/MapsTaskDemo.xaml.cs
/*
* MapsTask - Nokia 地图
* SearchTerm - 需要在地图中搜索的内容
* Center - 地图中心点的坐标
* ZoomLevel - 地图的放大级别
* Show() - 按指定要求打开 Nokia 地图
*/ using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
using System.Device.Location; namespace Demo.Launchers
{
public partial class MapsTaskDemo : PhoneApplicationPage
{
public MapsTaskDemo()
{
InitializeComponent();
} private void btnDemo_Click(object sender, RoutedEventArgs e)
{
MapsTask mapsTask = new MapsTask(); mapsTask.Center = new GeoCoordinate(39.9, 116.3); // 北京
mapsTask.ZoomLevel = ; // 1 - zoomed out, 20 - zoomed in
mapsTask.SearchTerm = "天安门"; mapsTask.Show();
}
}
}
4、演示 MapsDirectionsTask - Nokia 地图行车路线
Launchers/MapsDirectionsTaskDemo.xaml
<phone:PhoneApplicationPage
x:Class="Demo.Launchers.MapsDirectionsTaskDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True"> <StackPanel>
<Button Name="btnDemo" Content="Demo" Click="btnDemo_Click" />
</StackPanel> </phone:PhoneApplicationPage>
Launchers/MapsDirectionsTaskDemo.xaml.cs
/*
* MapsDirectionsTask - Nokia 地图行车路线
* Start - 行车路线的开始位置(LabeledMapLocation 类型)
* End - 行车路线的结束位置(LabeledMapLocation 类型)
* Show() - 打开 Nokia 地图,并显示指定开始位置和结束位置的行车路线
*
* LabeledMapLocation - 关联了标签的地理坐标
* Label - 位置的文本标签
* Location - 位置的地理坐标
*/ using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
using System.Device.Location; namespace Demo.Launchers
{
public partial class MapsDirectionsTaskDemo : PhoneApplicationPage
{
public MapsDirectionsTaskDemo()
{
InitializeComponent();
} private void btnDemo_Click(object sender, RoutedEventArgs e)
{
MapsDirectionsTask mapsDirectionsTask = new MapsDirectionsTask(); // 如果不指定地理坐标,则会针对位置标签进行搜索
LabeledMapLocation lml = new LabeledMapLocation("天安门", null);
mapsDirectionsTask.End = lml; // Start 和 End 必须至少指定其中之一,当只指定一个时,另一个则使用本地位置
mapsDirectionsTask.Show();
}
}
}
5、演示 MapDownloaderTask - 管理 Nokia 离线地图
Launchers/MapDownloaderTaskDemo.xaml
<phone:PhoneApplicationPage
x:Class="Demo.Launchers.MapDownloaderTaskDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True"> <StackPanel>
<Button Name="btnDemo" Content="Demo" Click="btnDemo_Click" />
</StackPanel> </phone:PhoneApplicationPage>
Launchers/MapDownloaderTaskDemo.xaml.cs
/*
* MapDownloaderTask - 管理 Nokia 离线地图
* Show() - 弹出 Nokia 离线地图管理窗口
*/ using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks; namespace Demo.Launchers
{
public partial class MapDownloaderTaskDemo : PhoneApplicationPage
{
public MapDownloaderTaskDemo()
{
InitializeComponent();
} private void btnDemo_Click(object sender, RoutedEventArgs e)
{
MapDownloaderTask mapDownloaderTask = new MapDownloaderTask(); mapDownloaderTask.Show();
}
}
}
OK
[源码下载]
与众不同 windows phone (35) - 8.0 新的启动器: ShareMediaTask, SaveAppointmentTask, MapsTask, MapsDirectionsTask, MapDownloaderTask的更多相关文章
- 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector
[源码下载] 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector 作者:webabcd 介绍与众不同 windows phone 8.0 之 新的 ...
- 与众不同 windows phone (36) - 8.0 新的瓷贴: FlipTile, CycleTile, IconicTile
[源码下载] 与众不同 windows phone (36) - 8.0 新的瓷贴: FlipTile, CycleTile, IconicTile 作者:webabcd 介绍与众不同 windows ...
- 与众不同 windows phone (43) - 8.0 相机和照片: 镜头的可扩展性, 图片的可扩展性, 图片的自动上传扩展
[源码下载] 与众不同 windows phone (43) - 8.0 相机和照片: 镜头的可扩展性, 图片的可扩展性, 图片的自动上传扩展 作者:webabcd 介绍与众不同 windows ph ...
- 与众不同 windows phone (44) - 8.0 位置和地图
[源码下载] 与众不同 windows phone (44) - 8.0 位置和地图 作者:webabcd 介绍与众不同 windows phone 8.0 之 位置和地图 位置(GPS) - Loc ...
- 与众不同 windows phone (47) - 8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复
[源码下载] 与众不同 windows phone (47) - 8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复 作者:webabcd 介绍与众不同 win ...
- 与众不同 windows phone (37) - 8.0 文件系统: StorageFolder, StorageFile, 通过 Uri 引用文件, 获取 SD 卡中的文件
[源码下载] 与众不同 windows phone (37) - 8.0 文件系统: StorageFolder, StorageFile, 通过 Uri 引用文件, 获取 SD 卡中的文件 作者:w ...
- 与众不同 windows phone (38) - 8.0 关联启动: 使用外部程序打开一个文件或URI, 关联指定的文件类型或协议
[源码下载] 与众不同 windows phone (38) - 8.0 关联启动: 使用外部程序打开一个文件或URI, 关联指定的文件类型或协议 作者:webabcd 介绍与众不同 windows ...
- 与众不同 windows phone (39) - 8.0 联系人和日历
[源码下载] 与众不同 windows phone (39) - 8.0 联系人和日历 作者:webabcd 介绍与众不同 windows phone 8.0 之 联系人和日历 自定义联系人存储的增删 ...
- 与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能
[源码下载] 与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能 作者:webabcd 介绍与众不同 windows ...
随机推荐
- 修改 Semantic UI 的默认字体
Semantic UI 默认使用的是谷歌提供的字体,并且是直接使用了谷歌的官方链接.由于大家都知道的原因,谷歌网站在国内访问速度很差,甚至根本无法访问,还有就是可能会在离线环境下使用 Semantic ...
- session和jsessionid有什么关系
首先,并不是说你一打开一个页面就会产生一个session. 所谓session你可以这样理解:当你与服务端进行会话时,比如说登陆成功后,服务端会为你开壁一块内存区间,用以存放你这次会话的一些内容,比如 ...
- C#记录对象的变化
经常,我们会遇到一个场景,在保存对象到数据库之前,对比内存对象和数据库值的差异. 下面我写了一种实现,为保存定义一个事件,然后自动找出对象之间的差异,请注意,并没有通过反射的方式去获取每个属性及其值. ...
- Spring3系列12- Spring AOP AspectJ
Spring3系列12- Spring AOP AspectJ 本文讲述使用AspectJ框架实现Spring AOP. 再重复一下Spring AOP中的三个概念, Advice:向程序内部注入的代 ...
- sys.stdout sys.stderr的用法
stdout:标准输出 stderr:标准错误 print 相当于 sys.stdout.write() + 换行 一个将数据流写入文件的程序,文件名为:main.py def main(out=s ...
- 本人独立博客:http://www.zjmainstay.cn
为了方便各种管理,本人创建了独立博客,博客地址:http://www.zjmainstay.cn 欢迎新老朋友围观.
- iOS 数据持久化(扩展知识:模糊背景效果和密码保护功能)
本篇随笔除了介绍 iOS 数据持久化知识之外,还贯穿了以下内容: (1)自定义 TableView,结合 block 从 ViewController 中分离出 View,轻 ViewControll ...
- 安装cvxpy遇到的问题与解决方案(ubuntu14.10,python 2.7.8)
应该说,cvxpy的安装说明是很棒的,一步一步非常清楚,www.cvxpy.org/en/latest/install/index.html 可是,我照着做完之后,还是不能import cvxpy,不 ...
- 打开jnlp Faild to validate certificate, the application will not be executed.
今天连jenkins, 本来好好的,只是我在一台机器上一直不断的启动不同的jnlp,绑定不同命名的slave, 然后突然就报错了, 如下截图所示:
- 二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件
回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ...