使用PhotoChooserTask

我的Windows Phone应用程序中有一个图像列表(作为内容)。 如何使用PhotoChooserTask查看它们?

以下是通过单击按钮触发任务的基本粗略示例。

下面的代码使用按钮单击事件来触发PhotoChooserTask(),然后将所选图像放入图像控件。

您将需要使用引用任务

using Microsoft.Phone.Tasks; 

然后使用如下代码

 public MainPage() { InitializeComponent(); photoChooserTask = new PhotoChooserTask(); photoChooserTask.Completed += new EventHandler(photoChooserTask_Completed); } private void photochooserbtn_Click(object sender, RoutedEventArgs e) { photoChooserTask.Show(); } void photoChooserTask_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { System.Windows.Media.Imaging.BitmapImage bmp =new System.Windows.Media.Imaging.BitmapImage(); bmp.SetSource(e.ChosenPhoto); imagecontrol.Source = bmp; } } 

如果您已经预先加载了应用程序的图像,那么您可以像下面这样显示它们:

        

这假设您的页面的数据上下文具有名为“Images”的属性

 public IEnumerable Images { get; set; } 

并且你正在填充这样的属性:

 Images = new List { new Uri("Images/image1.png", UriKind.Relative), new Uri("Images/image2.png", UriKind.Relative), new Uri("Images/image3.png", UriKind.Relative), new Uri("Images/image4.png", UriKind.Relative) }; 

这假定您已将图像放在项目的“Images”文件夹下,并且Build Action设置为Content

上面的解决方案将为您提供图像的垂直列表。 如果你想使它更好一些,那么使用WP7工具包并将ListBoxItemsPanel更改为WrapPanel

       

您不能使用PhotoChooserTask直接查看您添加到项目中的图片(作为内容)…要使其工作,您必须在启动之前将图片保存到图片库(使用MediaLibrary类) PhotoChooserTask!