【发布时间】:2017-08-23 19:32:56
【问题描述】:
我正在进入 Ninject。简化我的真实场景,我有一个带有属性注入的 A 类:
public class NinjectBindings : NinjectModule
{
public override void Load()
{
Bind<IMasterViewModel>().To<IQMasterViewModel>();
}
}
public class A
{
[Inject]
public IMasterViewModel _viewModel
{
get;
set;
}
public A()
{
}
}
还有一个通过默认构造函数实例化 A 的 B 类:
public class B
{
public A a = new A();
}
Ninject.IKernel kernel = new StandardKernel(new NinjectBindings());
var b = kernel.Get<B>();
如果我尝试使用 Ninject.kernell.Get() 调用解析类 B,则不会将类 A 的依赖项注入到 A 实例中。 如果我不能改变对象 A 的实例化方式,谁能建议处理这种注入的正确方法是什么? 因为在实际场景中,B 类是 WPF 窗口,A 类是 XAML 中声明的 UserControl。 谢谢。
【问题讨论】:
标签: wpf mvvm dependency-injection ninject