MSDN Library
信息
您所需的主题如下所示。但此主题未包含在此库中。

如何使用 Windows Phone 8 的照片选取器任务

2014/6/18

适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

使用照片选择器任务可使用户能够从手机中选择现有照片。此任务可以启动照片选择器应用程序。如果用户完成此任务,将会引发一个事件,并且事件处理程序将会在结果中收到一张照片。

使用选择器,可以帮助您在 Windows Phone 平台中提供一致的用户体验。有关更多信息,请参见 Windows Phone 8 启动器和选择器

如果您正在开发 Windows Phone OS 7.1 应用,请注意,调试照片选择器任务在 Windows Phone OS 7.1 模拟器上不受支持。您必须使用物理设备。若要在物理 Windows Phone OS 7.1 设备上测试照片选择器任务,必须使用“连接工具”启动您的应用程序。有关更多信息,请参阅如何测试在 Windows Phone 中使用照片选择器或相机捕获任务的应用

在 Windows Phone 8 上,可以在模拟器上测试照片选择器任务或在物理设备上使用 Visual Studio。如果您正在模拟器上进行测试,您应该在模拟器开始运行后以及开始测试之前打开“照片中心”。这将确保示例照片可供选择。

Windows Phone OS 7.1 Windows Phone OS 7.1:如果面向 Windows Phone OS 7.1 的应用已部署到运行 Windows Phone 8 的手机并且该应用使用照片选择器任务,系统将在应用的独立存储的顶级创建创建名为“PlatformData”的目录。因此,如果应用循环访问独立存储的内容并且您希望跳过由系统创建的目录时,则跳过“PlatformData”和“Shared”。

使用照片选择器任务

  1. 将以下语句添加到您的代码中。

    using Microsoft.Phone.Tasks;
    
  2. 声明任务对象。它必须具有页面范围,因此应在页面中的构造函数之前声明它。

    PhotoChooserTask photoChooserTask;
    
  3. 将以下代码添加到您的页面构造函数中。此代码初始化任务对象,并标识要在用户完成任务后运行的方法。

    photoChooserTask = new PhotoChooserTask();
    photoChooserTask.Completed += new EventHandler<PhotoResult>(photoChooserTask_Completed);
    
  4. 在应用程序中的所需位置(例如按钮单击事件中)添加以下代码。为了测试此过程,可以将该代码放置在页面构造函数中。以下是启动任务的代码。

    
    
    
    photoChooserTask.Show();
    
    
    
    
    
    
    
  5. 向页面中添加已完成事件处理程序的代码。此代码在用户完成任务后运行。结果是一个 PhotoResult 对象,该对象公开一个包含图像数据的流。有关使用照片图像流的信息,请参见 Windows Phone 8 的相机和照片

    void photoChooserTask_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            MessageBox.Show(e.ChosenPhoto.Length.ToString());
    
            //Code to display the photo on the page in an image control named myImage.
            //System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();
            //bmp.SetSource(e.ChosenPhoto);
            //myImage.Source = bmp;
        }
    }
    

显示:
© 2016 Microsoft