在MvvmCross中创建异步ValueConverter

本文关键字:异步 ValueConverter 创建 MvvmCross | 更新日期: 2023-09-27 18:20:52

在我的应用程序中,我的ValueConverter正在进行一些图像转换(比如带有额外任务的InMemoryImageValueConverter)。这需要一段时间,所以我的GUI会冻结半秒钟,这真的很烦人。

由于它是非常特定于平台的,我不能在ViewModels中这样做。所以我想使用类似异步ValueConverter的东西在后台执行此操作。有可能吗?

否则,最佳做法是什么?我的替代方案是在活动中调用此代码,这将跳过MVVM模式。

在MvvmCross中创建异步ValueConverter

我发现Stephen Cleary对这个问题的回答很有帮助:IValueConverter 的异步实现

最后,我在Windows特定的值转换器中使用了他出色的AsyncEx库来对字节数组进行异步转换。对于Android和iOS,我可以在MVVMCross自定义绑定中进行异步转换,而不需要值转换器。

更多信息可以在我写的一篇博客文章中找到:http://www.sequence.co.uk/blog/infinite-scrolling-using-mvvmcross-and-xamarin/