3

我有一种情况,我想“解决”视图模型,而不必手动调用 IoC 容器来解决视图模型依赖项。

我假设在内部 Mvvmcross 有一个视图模型工厂,用于在注入它们的依赖项时创建视图模型。

我可以直接调用吗?如果是这样,它叫什么,这些工厂驻留在哪些命名空间中?

本质上,我要做的是为 tabcontroller 创建一个“HomeViewModel”,但不想为每个“tabs”视图模型硬编码依赖项解析。

4

1 回答 1

4

我个人所做的是在我的内部使用 IoCHomeViewModel来获取嵌套ViewModels 的所有依赖项,并在我实例化它们时传递它们。所以类似的东西:

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然后我只需在我的选项卡中使用 my s 的那些实例。

于 2013-06-26T19:25:37.990 回答