在 MvvmCross ViewModel 中,Init 方法用于任何屏幕初始化。但是,在 Init 完全完成之前不会绘制屏幕。我有一些繁重的操作(数据库搜索)。所以理想情况下我想用进度条绘制屏幕,然后运行我的初始化方法,最后更新屏幕。我应该将这些操作放在 MvvmCross ViewModel 的什么地方?
最佳答案
我会在 Service
中做繁重的工作。在该服务中,我要么:
- 制作一个触发
Done
事件的方法,您可以在ViewModel
中监听该事件,并从那里用数据填充属性。
或
- 创建一个在后台线程等待的异步方法,当它返回时填充属性。
当此服务运行并获取数据时,我会在加载数据时简单地在屏幕上显示其他内容。这可能是一些缓存数据或进度条或其他东西。
关于xamarin - MvvmCross 中繁重的初始化操作放在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17860337/