C# 在ViewModel中传递两个项目';Catel中的s构造函数

C# 在ViewModel中传递两个项目';Catel中的s构造函数,c#,wpf,mvvm,catel,C#,Wpf,Mvvm,Catel,可以将UserControl的ViewModel构造函数设置为与视图的DataContext和另一个依赖项注入一起启动吗 我希望能够将UserControl的datacontext(在其父控件的veiw中设置)和数据库服务获取到ViewModel中 我想不出这一点: public MyUserControlViewModel( theDataContext, InvoiceService) { } 这项工作: public MyUserControlViewModel( theDataCo

可以将UserControl的ViewModel构造函数设置为与视图的DataContext和另一个依赖项注入一起启动吗

我希望能够将UserControl的datacontext(在其父控件的veiw中设置)和数据库服务获取到ViewModel中

我想不出这一点:

public MyUserControlViewModel( theDataContext, InvoiceService)
{

} 
这项工作:

public MyUserControlViewModel( theDataContext)
{

} 
这项工作:

 public MyUserControlViewModel( InvoiceService)
 {

 }

是的,卡特尔支持这一切。在上述情况下,所有这些都应该起作用。例如:

公共MyViewModel(模型模型、IService1服务1、IService2服务2) { }


请注意,为了插入模型,必须将其设置为数据上下文。除模型外的所有服务都必须在ServiceLocator中注册

我可以在视图的DataContext(模型模型)中注入多个服务(iservice1 service1、iservice2 service2)或一个模型,但当我混合它们时,它会中断:(模型模型、iservice1 service1、iservice2 service2)。我会尝试将事情隔离开来,看看是否真的发生了这样的事情,或者是否有其他事情正在破坏事情。我构建了一个测试应用程序,当结合DataContext和服务时,注入确实会中断,但可以单独工作。我在一台计算机上安装了3.5,在另一台计算机上安装了3.9。在Catel 3.9版本的小型测试应用程序中,错误并没有重现。是的,升级了其他机器。