我的 Windows Phone 应用程序中有一个图像列表(作为内容)。如何使用 PhotoChooserTask 查看它们?
问问题
2832 次
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 并将其更改ItemsPanel
为ListBox
WrapPanel
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
于 2012-05-15T15:55:19.633 回答
0
您不能使用 PhotoChooserTask 直接查看您添加到项目中的图片(作为内容)...要使其正常工作,您必须在启动之前将图片保存到图片库(使用MediaLibrary类) PhotoChooserTask!
于 2012-05-15T15:20:29.350 回答