繁体   English   中英

使用Unity容器将ViewModels之一注入到视图中

[英]Inject one of ViewModels into a View using Unity container

我有第二课ViewModels

//both IViewModel1 and IViewModel2 inherit from IViewModel
public class ViewModel1 : IViewModel1
{}
//and
public class ViewModel2 : IViewModel2
{}

和视图:

public partial class View : UserControl
{
View(IViewModel)
{}
}

如何使用Unity容器将其中一个ViewModel注入到View中?
编辑:我的问题是可以选择从构造函数注入视图模型之一。

如果您使用Unity来解析视图,并且IViewModel是构造函数签名的一部分,则Unity将为您解析(如果您已经注册了它,例如在模块加载中):

public View(IViewModel1 vm)
{
    InitializeComponent();
    _myViewModel = vm;
}

请记住,Unity很贪婪-它会尝试解析最大的构造函数,因此,如果您要选择一个特定的构造函数供其使用,则需要使用ParameterOverrides

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM