钩子属性绑定

时间:2013-10-31 18:47:57

标签: c# android mvvmcross

我正在尝试将ImageUrl属性挂钩到MvxImageView,以实现我自己的图像缓存服务。

我已尝试使用获取值的PropertyConverter,但我没有收到回复。

然后,我尝试了IMvxImageHelper的自己的实现,但是我得到了一个不寻常的行为,因为我使用带有图像的列表,所有图像容器都获得相同的图片,当我滑动列表时,图片会改变所有MvxImageView小部件。

此实现位于使用CreateApp的{​​{1}}方法的安装文件中。

连接缓存图像的过程的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

如果要替换整个下载和缓存链,那么提供的最简单的接口是IMvxImageHelper<Bitmap> - 预计会将其注册为Mvx.RegisterType - 这样每个图像视图都会获得一个新的帮助器对象

如果您只想替换部分下载和缓存,那么您可以提供以下实现:

        IMvxHttpFileDownloader
        IMvxImageCache<Bitmap>
        IMvxLocalFileImageLoader<Bitmap>

没有可用于这些的文档 - 但这些api非常小,源代码可作为参考。


  

然后,我尝试了我自己的IMvxImageHelper实现,但是我得到了一个不寻常的行为,因为我使用带有图像的列表,所有图像容器都获得相同的图片,当我滑动列表时,图片会在所有MvxImageView小部件中发生变化。 / p>

我会猜测你的图片帮助程序实现中存在错误,或者在IOC注册时有错误。


您可以考虑的另一个替代方案是使用自己的ImageView属性实现自己的自定义ImageUrl类 - 您不必使用MvxImageView