我有一种情况,我想“解析”视图模型,而不必手动调用IoC容器来解析视图模型依赖项 .
我假设内部Mvvmcross有一个viewmodel工厂,用于在注入依赖项时创建viewmodel .
我可以直接打电话吗?如果是这样,它叫什么以及这些工厂驻留在哪些名称空间?
基本上我要做的是为tabcontroller创建一个“HomeViewModel”,但不想为每个“tabs”视图模型硬编码依赖项解析 .
我个人所做的是在我的 HomeViewModel 中使用IoC来获取嵌套的 ViewModel 的所有依赖项,并在实例化它们时传递它们 . 所以有类似的东西:
HomeViewModel
ViewModel
private ITwitterService _twitterService; private IFacebookService _facebookService; private IDataProcessingService _dataProcessingService; private TwitterViewModel _twitterViewModel; private FacebookViewModel _facebookViewModel; public HomeViewModel(ITwitterService t, IFacebookService f, IDataProcessingService d) { _twitterService = t; _facebookService = f; _dataProcessingService = d; _twitterViewModel = new TwitterViewModel(_twitterService, _dataProcessingService); _facebookViewModel = new FacebookViewModel(_facebookService, _dataProcessingService); }
然后我只在我的标签中使用我的 ViewModel 的那些实例 .
1 回答
我个人所做的是在我的
HomeViewModel
中使用IoC来获取嵌套的ViewModel
的所有依赖项,并在实例化它们时传递它们 . 所以有类似的东西:然后我只在我的标签中使用我的
ViewModel
的那些实例 .