如何在 UWP C# 中显示文件打开选择器选择的图像?

How to display an image chosen by a file open picker in UWP C#?

我在通用 Windows 平台应用程序中实现了一个文件打开选择器,用于选择要在列表项中显示的图像。

但是,从文件打开选择器获取图像路径后,该路径既不能设置为图像源,也不能设置为 URI 或网络路径(尝试过“file:///”+ 路径)。

有没有办法显示文件打开选择器选择的路径中的图像?

如果没有,有什么办法可以在app中打开电脑本地图片吗?

I implemented a File Open Picker into a Universal Windows Platform Application for choosing an image to display in a list item.

UWP 不支持 file:// uri 方案,如果您使用文件打开选择器打开文件,您可以将文件作为流打开,并将其转换为 BitmapImage,如下所示。

try
{
    var picker = new Windows.Storage.Pickers.FileOpenPicker
    {
        ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail,
        SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary
    };
    picker.FileTypeFilter.Add(".jpg");
    picker.FileTypeFilter.Add(".jpeg");
    picker.FileTypeFilter.Add(".png");

    Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
    if (file != null)
    {
        using (IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))
        {
            BitmapImage bitmapImage = new BitmapImage();
            await bitmapImage.SetSourceAsync(fileStream);
            MyImage.Source = bitmapImage;

        }
    }
   
}
catch (Exception ex)
{

    throw ex;
}