与众不同 windows phone (35) - 8.0 新的启动器: ShareMediaTask, SaveAppointmentTask, MapsTask, MapsDirectionsTask, MapDownloaderTask

原文:与众不同 windows phone (35) - 8.0 新的启动器: ShareMediaTask, SaveAppointmentTask, MapsTask, MapsDirectionsTask, MapDownloaderTask

[源码下载]

与众不同 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(1);
            saveAppointmentTask.EndTime = currentTime.AddHours(3);
            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 = 7;  // 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
[源码下载]

时间: 2024-10-03 02:09:36

与众不同 windows phone (35) - 8.0 新的启动器: ShareMediaTask, SaveAppointmentTask, MapsTask, MapsDirectionsTask, MapDownloaderTask的相关文章

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

原文:与众不同 windows phone (34) - 8.0 新的控件: LongListSelector [源码下载] 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector 作者:webabcd 介绍与众不同 windows phone 8.0 之 新的控件 新的控件 - LongListSelector 示例演示 LongListSelector 控件的应用 1.提供数据Controls/CityInfo.txt 101330101=澳

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

原文:与众不同 windows phone (36) - 8.0 新的瓷贴: FlipTile, CycleTile, IconicTile [源码下载] 与众不同 windows phone (36) - 8.0 新的瓷贴: FlipTile, CycleTile, IconicTile 作者:webabcd 介绍与众不同 windows phone 8.0 之 新的瓷贴 FlipTileData - 翻转瓷贴.继承了 wp7 时代的 StandardTileData CycleTileDat

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

介绍 与众不同 windows phone 8.0 之 新的控件 新的控件 - LongListSelector 示 例 演示 LongListSelector 控件的应用 1.提供数据 Controls/CityInfo.txt 101330101=澳门=aomen 101080904=阿巴嘎=abagaqi 101271901=阿坝=aba 101050104=阿城=acheng 101081102=阿尔山=aershan 101131504=阿合奇=aheqi 101130801=阿克苏=

与众不同windows phone (35)

8.0 新的启动器: ShareMediaTask, SaveAppointmentTask, MapsTask, MapsDirectionsTask, MapDownloaderTask 介绍 与众不同 windows phone 8.0 之 新的启动器 ShareMediaTask - 共享媒体文件    ShareMediaTask - 新建"约会"到"日历"    MapsTask - Nokia 地图    MapsDirectionsTask - No

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

原文:与众不同 windows phone (43) - 8.0 相机和照片: 镜头的可扩展性, 图片的可扩展性, 图片的自动上传扩展 [源码下载] 与众不同 windows phone (43) - 8.0 相机和照片: 镜头的可扩展性, 图片的可扩展性, 图片的自动上传扩展 作者:webabcd 介绍与众不同 windows phone 8.0 之 相机和照片 镜头的可扩展性 图片的可扩展性 图片的自动上传扩展 示例1.演示如何将本 app 注册为镜头扩展CameraAndPhoto/Len

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

原文:与众不同 windows phone (44) - 8.0 位置和地图 [源码下载] 与众不同 windows phone (44) - 8.0 位置和地图 作者:webabcd 介绍与众不同 windows phone 8.0 之 位置和地图 位置(GPS) - Location API 诺基亚地图 示例1.演示新 Location API 的应用GPS/Demo.xaml <phone:PhoneApplicationPage x:Class="Demo.GPS.Demo&quo

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

原文:与众不同 windows phone (47) - 8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复 [源码下载] 与众不同 windows phone (47) - 8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复 作者:webabcd 介绍与众不同 windows phone 8.0 之 其它 锁屏信息和锁屏背景 电池状态 多分辨率应用 与 Windows Phone 商店相关的操作 系统的内置协议 快

与众不同 windows phone (45) - 8.0 语音: TTS, 语音识别, 语音命令

原文:与众不同 windows phone (45) - 8.0 语音: TTS, 语音识别, 语音命令 [源码下载] 与众不同 windows phone (45) - 8.0 语音: TTS, 语音识别, 语音命令 作者:webabcd 介绍与众不同 windows phone 8.0 之 语音 TTS(Text To Speech) 语音识别 语音命令 示例1.演示 TTS(Text To Speech)的应用Speech/TTS.xaml <phone:PhoneApplicationP

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

原文:与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能 [源码下载] 与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能 作者:webabcd 介绍与众不同 windows phone 8.0 之 媒体 添加音乐到音乐中心,从音乐中心删除音乐 与图片中心相关的新增功能 BackgroundAudioPlayer 的新增功能 示例