我在metro应用程序中使用MVVMLight框架。我开始通过在我的ViewModel构造函数中加载数据,并且一切正常。在构建结束时,我在app.xaml中引入了一些额外的异常处理。mvvmlight windows 8 metro异步加载数据在viewmodel构造函数中
TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
这开始引发了很多关于任务未正确等待的错误。
我将ViewModel构造函数的数据加载调用移动到我的页面LoadState方法中,并等待他们在那里,一切正常。不过,我已经读过这可能是不好的做法。
我应该以某种方式向ViewModel构造函数引入异步调用吗?感兴趣的最佳实践可能是什么?也许我应该删除异常处理程序!
类似的问题已经在这里问: MVVM view model and async data initialisation
我有几个博客文章[在构造函数中执行'async'工作](http://blog.stephencleary.com/2013/01/async-oop-2-constructors.html )和['async' properties](http://blog.stephencleary.com/2013/01/async-oop-3-properties.html),您可能会发现有帮助。 –