C# 使用另一个ViewModel的参数实例化ViewModel
我试图从MainViewModel中实例化SecondViewModel,并在第二个参数中注入IoCContainer中注册的服务和MainVM中的对象 代码是这样的:C# 使用另一个ViewModel的参数实例化ViewModel,c#,.net,mvvm,inversion-of-control,ioc-container,C#,.net,Mvvm,Inversion Of Control,Ioc Container,我试图从MainViewModel中实例化SecondViewModel,并在第二个参数中注入IoCContainer中注册的服务和MainVM中的对象 代码是这样的: class MainViewModel { public MainViewModel() { } private string message = "the message"; public string Message { get; set; } } class SecondVi
class MainViewModel
{
public MainViewModel()
{
}
private string message = "the message";
public string Message { get; set; }
}
class SecondViewModel
{
public SecondViewModel(IService service, string message)
{
}
}
现在,我知道我可以让IoC容器将第二个ViewModelFactory(携带服务实例)注入到MainViewModel中,这样它就可以通过它创建SVM,但是如果iSeries的实现非常繁重,我不想实例化它,但是当我真的需要它的时候,该怎么办呢
如果我必须以类似的方式实例化其他ViewModel呢?我是否必须创建成吨的VMFactory和构造函数参数
如果我使用一个通用的ViewModelFactory,它将需要实例化,传递我拥有的每个ViewModel所需的所有服务,不管它们是否将被创建
你知道我的案子有什么更好的解决办法吗
谢谢大家不要将Ì服务`传递到第二个视图模型中,而是让第二个视图模型从IoC容器解析
iSeries设备
-实例……但是我必须将MainVM的属性/字段传递到第二个VM的构造函数中。让容器解析第二个VM是如何实现的?啊,很抱歉,我以为这主要是关于传递iSeries设备
-实例。。。在这种情况下,似乎无法绕过服务模型工厂。。。