是否有人在那里使用Prism框架与Ninject而不是Unity?我需要一些Unity尚未支持的功能,我决定将IoC容器切换到Ninject.虽然我在替换方面有点挣扎.
我需要从Prism使用的是EventAggregator和RegionManager.我已经看到了这个样本实际执行替换,但是这是一个旧版本的棱镜的书面和几个班的似乎改变等,所以我结束了所有的困惑寻找做一些努力,试图重写一遍后.
所以 - 我的问题基本上是:如何用Ninject替换Unity?
有什么必要的步骤?最初我假设我可以编写一个简单的引导程序来创建和配置Ninject容器并使用它来解析所有其他对象.我将IEventAggregator绑定到EventAggregator并将IRegionManager绑定到RegionManager,但是在创建Shell并且调用RegionManager.CreateRegion时它失败了.问题是,似乎我需要在某处设置ServiceLocator,因为它在此行上失败:
IServiceLocator locator = ServiceLocator.Current;
Run Code Online (Sandbox Code Playgroud)
一路上有什么想法和提示吗?