使用PhotoChooserTask

时间:2012-05-15 15:14:26

标签: c# windows-phone-7

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

3 个答案:

答案 0 :(得分: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;
         }
       }

答案 1 :(得分:1)

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

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

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

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)
    };

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

上述解决方案将为您提供图像的垂直列表。如果您想要更好一点,那么使用WP7工具包并将ItemsPanel的{​​{1}}更改为ListBox

WrapPanel

答案 2 :(得分:0)

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