我是 Ninject 的新手(使用最新的 v3)。我的基础工作正常(包括没有模块的命名绑定,即直接在内核上),但我无法让它与模块一起使用。
该模块如下所示:
public class MainModule : NinjectModule
{
public override void Load()
{
Bind<Window>().ToMethod(context => App.Current.MainWindow).Named("MainWindow");
}
}
我正在这样使用它:
public MainViewModel Main
{
get
{
return kernel.Get<MainViewModel>("MainWindow");
}
}
这导致 ActivationException 告诉我“没有匹配的绑定可用”。如果没有命名绑定,它可以正常工作。
如何将命名绑定与模块一起使用?