xamarin - MvvmCross 中繁重的初始化操作放在哪里

标签 xamarin mvvmcross

在 MvvmCross ViewModel 中,Init 方法用于任何屏幕初始化。但是,在 Init 完全完成之前不会绘制屏幕。我有一些繁重的操作(数据库搜索)。所以理想情况下我想用进度条绘制屏幕,​​然后运行我的初始化方法,最后更新屏幕。我应该将这些操作放在 MvvmCross ViewModel 的什么地方?

最佳答案

我会在 Service 中做繁重的工作。在该服务中,我要么:

  • 制作一个触发 Done 事件的方法,您可以在 ViewModel 中监听该事件,并从那里用数据填充属性。

  • 创建一个在后台线程等待的异步方法,当它返回时填充属性。

当此服务运行并获取数据时,我会在加载数据时简单地在屏幕上显示其他内容。这可能是一些缓存数据或进度条或其他东西。

关于xamarin - MvvmCross 中繁重的初始化操作放在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17860337/

相关文章:

xamarin - 处理异步方法的配置更改

android - 如何将 AppCompatActivity 与 MvvmCross 结合使用

c# - 将 MvvmCross 与 dot42 一起使用

Android App 编译不生成包资源

c# - 在 Xamarin 跨平台应用程序中呈现带有 ObservableCollection 数据的 DisplayActionSheet

xamarin - Prism :在 ViewModel 中设置值后 View 没有更新?

c# - Xamarin - 如何淬火或过滤应用程序输出?

ios - Xamarin.iOS中的蓝牙背景扫描

xamarin - 将 Android 可翻译字符串传递给 ValueConverter

c# - MVVM跨WPF区域实现