2

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

4

3 回答 3

2

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

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

您将需要使用参考任务

using Microsoft.Phone.Tasks;

然后使用如下代码

public MainPage()
    {
    InitializeComponent();
        photoChooserTask = new PhotoChooserTask();
        photoChooserTask.Completed += new EventHandler<PhotoResult>(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;
         }
       }
于 2012-05-15T15:39:00.643 回答
1

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

<ListBox ItemsSource="{Binding Images}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Image Source="{Binding}" Width="200"/>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

这假设您的页面的数据上下文有一个名为“图像”的属性

public IEnumerable<Uri> Images { get; set; }

并且您正在像这样填充该属性:

Images = new List<Uri>
    {
        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)
    };

这假设您已将图像放在项目中的“图像”文件夹下,并且构建操作设置为内容

上述解决方案将为您提供图像的垂直列表。如果您想让它变得更好,请使用 WP7 Toolkit 并将其更改ItemsPanelListBoxWrapPanel

   <ListBox.ItemsPanel>
       <ItemsPanelTemplate>
           <toolkit:WrapPanel/>
       </ItemsPanelTemplate>
   </ListBox.ItemsPanel>
于 2012-05-15T15:55:19.633 回答
0

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

于 2012-05-15T15:20:29.350 回答