无法在UWP中使用FromFile中的路径加载图像

时间:2019-05-27 16:07:36

标签: c# xamarin.forms uwp imagesource fromfile

我正在为Android和UWP开发一个应用程序。在一个屏幕中,我需要从设备文件系统加载图像并显示它。奇怪的是,它可以在Android上完美运行,但不能在UWP上运行。 FilePicker似乎正确返回了路径...

我的XAML

<Image Grid.Row="0" Grid.Column="0" 
Source="{Binding NewImage}" Margin="10,10,10,10" Aspect="AspectFit" 
VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" />

我用于图片的来源

private FileImageSource _newImage;
public FileImageSource NewImage
        {
            get { return _newImage; }
            set
            {
                _newImage = value;
                OnPropertyChanged(nameof(NewImage));
            }
        }

该功能应该加载图像并设置路径。

private async void OnAddImage()
        {
            string[] types = { ".jpg", ".png" };
            FileData temp = await CrossFilePicker.Current.PickFile(types);
            if (temp == null)
            {
                return;
            }
            Debug.WriteLine($"ImagePath: {temp.FilePath}");
            Debug.WriteLine($"ImageName: {temp.FileName}");
            NewEntry.ImagePath = temp.FilePath;
            NewImage = (FileImageSource)ImageSource.FromFile(temp.FilePath);
        }

1 个答案:

答案 0 :(得分:1)

使用文件选择器在UWP上选择图像时,这些图像可能存储在外部磁盘上。我们只能使用路径来加载嵌入在项目中或存储在UWP上的本地存储中的文件:https://blogs.msdn.microsoft.com/wsdevsol/2012/12/04/skip-the-path-stick-to-the-storagefile/

因此请调整您的加载事件,例如:

SIGDN_NORMALDISPLAY

这也适用于Android。