用户从文件系统中选择图像。之后,我想在页面上显示此图像。我应该怎么做?似乎图像控件无法访问拾取的文件。我应该将其复制到应用程序本地存储吗?这是对的吗?
问问题
136 次
1 回答
1
您不必复制文件。StorageFile
对象引用了存储在设备中的文件。检查MSDN 上的文件选择器示例和使用文件选择器访问文件的快速入门指南。
XAML
<Grid Background="{StaticResource ApplicationPageBackgroundBrush}">
<Image x:Name="img" Stretch="None" />`
</Grid>
C#
private async Task SetImage()
{
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".jpg");
openPicker.FileTypeFilter.Add(".gif");
openPicker.FileTypeFilter.Add(".png");
StorageFile file = await openPicker.PickSingleFileAsync();
if(file != null)
{
BitmapImage bmp = new BitmapImage();
using(var stream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
bmp.SetSource(stream);
}
img.Source = bmp;
}
}
于 2013-04-17T19:04:21.103 回答