2

我在 MvxTableViewCell 中使用 mvvmcross 绑定,单元格元素是 UIImageView 和 2 个标签。

这些“行”/单元格将列出一组预定义的元素,这些元素的图像是存在于 Resources 目录(捆绑资源)或 Internet 上任何位置的 png 文件。

由于我可能在捆绑包和互联网上存在这种混合图像,因此我想使用 MvxImageViewLoader。

视图模型有一个包含图像 uri 属性的对象列表,对于资源图像,我尝试了几种解决方案: - NSBundle.MainBundle.ResourcePath+"/xpto.png" - "file://" + NSBundle.MainBundle .ResourcePath+"/xpto.png"

位于互联网上的所有图像都可以正常工作。

是否可以使用 MvxImageViewLoader 加载资源文件夹中存在的图像?我应该使用转换器吗?

谢谢你的帮助,

路易斯·皮尼奥

4

1 回答 1

4

Touch 上的 MvvmCross DownloadCache 插件将图像加载解析为:MvxTouchLocalFileImageLoader - 参见https://github.com/slodge/MvvmCross/blob/v3/Plugins/Cirrious/DownloadCache/Cirrious.MvvmCross.Plugins.DownloadCache.Touch/MvxTouchLocalFileImageLoader.cs

res:用作方案/前缀来检测是否已请求资源文件,然后用于UIImage.FromFile加载它们。

由于其他平台不支持使用相同前缀的资源文件,您可能会发现在移动到多个平台时需要为此使用值转换器。

或者,您可以轻松地实现您自己的MyImageView控件,从该控件继承MvxImageView将拦截绑定的属性并决定是下载它还是从资源中显示它。

于 2013-08-27T10:23:37.817 回答