C# UWP图像选择器不适用于图像源

C# UWP图像选择器不适用于图像源,c#,uwp,C#,Uwp,我正在尝试让图像选择器工作,它确实工作了,但由于某些原因,它不会作为图像填充 var openPicker = new FileOpenPicker { ViewMode = PickerViewMode.Thumbnail, SuggestedStartLocation = PickerLocationId.PicturesLibrary }; openPicker.FileType

我正在尝试让图像选择器工作,它确实工作了,但由于某些原因,它不会作为图像填充

        var openPicker = new FileOpenPicker
        {
            ViewMode = PickerViewMode.Thumbnail,
            SuggestedStartLocation = PickerLocationId.PicturesLibrary
        };
        openPicker.FileTypeFilter.Add(".jpg");
        openPicker.FileTypeFilter.Add(".jpg");
        openPicker.FileTypeFilter.Add(".jpeg");
        openPicker.FileTypeFilter.Add(".png");
        var file = await openPicker.PickSingleFileAsync();

        if (file != null)
        {
            //Image img = new Image();
            userImage.Source = new BitmapImage(new Uri(file.Path));
            //await ProcessFile(file);
        }
这幅图很简单:

<image name="userImage" height="500px" width="500px"/>

您可以将流设置为源,而不是路径

var result = new BitmapImage();

 using (var randomAccessStream = await file.OpenAsync(FileAccessMode.Read))
{

await result.SetSourceAsync(randomAccessStream);

}

这不起作用,因为UWP应用程序仅对某些用户文件夹具有权限,即使您需要浏览他们的文件,您也需要在应用程序的package.manifest中找到要访问的文件夹。为了简化,您可以在应用程序数据文件夹中创建文件的副本,并从中获取路径,或者从文件流中设置图像源,但请小心,第二个选项可能会导致一些高内存使用率和泄漏。你可以找到如何避免这种情况