我希望有人可以帮我解决这个奇怪的问题。
我在渲染器中使用Xamarin Forms。我将Xamarin.Forms.ImageSource
传递给ImageLoaderSourceHandler
。
var_imageLoader = new ImageLoaderSourceHandler();
但是,当我await
LoadImageAsync
方法时,它始终返回null,而不是UIimage
。
if (_view.Icon?.Source != null)
{
_iconImageView.Image =
await _imageLoader.LoadImageAsync(_view.Icon.Source);
}
我的图片位于Resource
目录中,BundleResource
为构建操作。
文件命名是正确的(menu.png,menu @ 2x.png,menu @ 3x.png),如果想法,我已经用完了。
任何人都有一两个线索? 感谢
答案 0 :(得分:2)
ImageLoaderSourceHandler
。
由于您的文件是本地文件,因此您需要使用FileImageSourceHandler
您可以使用此帮助方法为您提供正确的类型。
private static IImageSourceHandler GetHandler(ImageSource source)
{
IImageSourceHandler returnValue = null;
if (source is UriImageSource)
{
returnValue = new ImageLoaderSourceHandler();
}
else if (source is FileImageSource)
{
returnValue = new FileImageSourceHandler();
}
else if (source is StreamImageSource)
{
returnValue = new StreamImagesourceHandler();
}
return returnValue;
}