在我的应用程序中,我的ValueConverter正在进行一些图像转换(比如带有额外任务的InMemoryImageValueConverter)。这需要一段时间,所以我的GUI冻结半秒钟,这真的很烦人。
由于它非常适合平台,我无法在我的ViewModel中执行此操作。所以我想使用像async ValueConverter这样的东西来在后台执行这个操作。有可能吗?
否则,最佳做法是什么?我的替代方法是在活动中调用此代码,这将跳过MVVM模式。
答案 0 :(得分:2)
我发现Stephen Cleary对这个问题的回答很有帮助:Async Implementation of IValueConverter
最后,我在Windows特定的Value Converter中使用了他出色的AsyncEx库来进行字节数组的异步转换。对于Android和iOS,我能够在MVVMCross自定义绑定中进行异步转换,而无需使用值转换器。
在我撰写的博文中可以找到更多信息:http://www.sequence.co.uk/blog/infinite-scrolling-using-mvvmcross-and-xamarin/