[源码下载]

与众不同 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的更多相关文章

  1. 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector

    [源码下载] 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector 作者:webabcd 介绍与众不同 windows phone 8.0 之 新的 ...

  2. 与众不同 windows phone (36) - 8.0 新的瓷贴: FlipTile, CycleTile, IconicTile

    [源码下载] 与众不同 windows phone (36) - 8.0 新的瓷贴: FlipTile, CycleTile, IconicTile 作者:webabcd 介绍与众不同 windows ...

  3. 与众不同 windows phone (43) - 8.0 相机和照片: 镜头的可扩展性, 图片的可扩展性, 图片的自动上传扩展

    [源码下载] 与众不同 windows phone (43) - 8.0 相机和照片: 镜头的可扩展性, 图片的可扩展性, 图片的自动上传扩展 作者:webabcd 介绍与众不同 windows ph ...

  4. 与众不同 windows phone (44) - 8.0 位置和地图

    [源码下载] 与众不同 windows phone (44) - 8.0 位置和地图 作者:webabcd 介绍与众不同 windows phone 8.0 之 位置和地图 位置(GPS) - Loc ...

  5. 与众不同 windows phone (47) - 8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复

    [源码下载] 与众不同 windows phone (47) - 8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复 作者:webabcd 介绍与众不同 win ...

  6. 与众不同 windows phone (37) - 8.0 文件系统: StorageFolder, StorageFile, 通过 Uri 引用文件, 获取 SD 卡中的文件

    [源码下载] 与众不同 windows phone (37) - 8.0 文件系统: StorageFolder, StorageFile, 通过 Uri 引用文件, 获取 SD 卡中的文件 作者:w ...

  7. 与众不同 windows phone (38) - 8.0 关联启动: 使用外部程序打开一个文件或URI, 关联指定的文件类型或协议

    [源码下载] 与众不同 windows phone (38) - 8.0 关联启动: 使用外部程序打开一个文件或URI, 关联指定的文件类型或协议 作者:webabcd 介绍与众不同 windows ...

  8. 与众不同 windows phone (39) - 8.0 联系人和日历

    [源码下载] 与众不同 windows phone (39) - 8.0 联系人和日历 作者:webabcd 介绍与众不同 windows phone 8.0 之 联系人和日历 自定义联系人存储的增删 ...

  9. 与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能

    [源码下载] 与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能 作者:webabcd 介绍与众不同 windows ...

随机推荐

  1. adding validation annotators to model classes 在linq to EntityFrame的Model中添加前台验证validation annotators

    The same solution can be applied for LINQ to SQL. The snippet the article shows for using the Metada ...

  2. gitignore for vs

    */**/bin/Debug*/**/bin/Release*/**/obj/Debug*/**/obj/Release*/**/x86/Debug*/**/x86/Release*/**/x64/D ...

  3. winform C#获得Mac地址,IP地址,子网掩码,默认网关

    1.添加程序集 2.引入命名空间 using System.Management; 3.方法 ManagementClass mc = new ManagementClass("Win32_ ...

  4. 网站CSS选择器性能讨论

    CSS选择符由一些初始化参数组成,这些参数指明了要应用这个CSS规则的页面元素.作为一个网站的前端开发工程师,应该避免编写一些常见的开销很大的CSS选择符模式,尽量编写高效的CSS选择符,从而加快页面 ...

  5. linux标准daemon编写方式

    daemon定义 运行在后台的程序,通常不需要与用户进行交互的. 任何父进程id是0的通常是kernel进程,作为系统启动的一部分,除了init是用户态的命令. 规则 第一件事情是调用umask设置文 ...

  6. 用SQL server导出到oracle,查询时提示“表或视图不存在ORA-00942”错误

    用SQL server2005的导出工具,将数据导出表到oracle,表名称里看到有这张表了,但查询或删除时都提示“ORA-00942表或者试图不存在”的错误,上网查了一下,是如下原因: “查询或删除 ...

  7. 网络安装archlinux(2012.8.20)笔记

    周末闲极无聊,把烂笔记本翻出来想装个Archlinux,发现USB不能启动,光驱也挂了,只好网络安装. 我先后试了两种安装方式,一种纯互联网启动,安装,一种局域网启动,再互联网安装.分别说说. 不管哪 ...

  8. 基于Java的数据采集(终结篇)

    关于写过关于JAVA采集入库的三篇文章: 基于Java数据采集入库(一):http://www.cnblogs.com/lichenwei/p/3904715.html 基于Java数据采集入库(二) ...

  9. windows环境下配置php和redis

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. 一.Window 下安装 下载地址:https://github.com/dmajkic/redis/downl ...

  10. struts2 hello world

    注意:仅需要如下这些jar包,否则启动时会出错 commons-lang3-3.2.jar commons-logging-1.1.3.jarcommons-logging-api-1.1.jarfr ...