开发者

Using Prism with Ninject

开发者 https://www.devze.com 2022-12-26 06:04 出处:网络
Is anyone out there using the Prism framework with Ninject instead of Unity? I need some functionality Unity isn\'t supporting yet, and I\'ve decided to switch the IoC container to Ninject. I\'m strug

Is anyone out there using the Prism framework with Ninject instead of Unity? I need some functionality Unity isn't supporting yet, and I've decided to switch the IoC container to Ninject. I'm struggling a bit with the replace though..

What I need to use from Prism is the EventAggregator and the RegionManager. I have seen this sample that actual开发者_高级运维ly does the replace, but this is written for an older version of Prism, and several of the classes seems to have changed etc. So I ended up all confused after looking doing some effort in trying to rewrite it.

So - my question is basically: How can I replace Unity with Ninject?

What are the necessary steps? Initially I assumed I could write a simple bootstrapper that creates and configures a Ninject container and uses this to resolve all other objects. I bind IEventAggregator to EventAggregator and IRegionManager to RegionManager, but it fails when creating the Shell and the RegionManager.CreateRegion is called. Problem is that it seems like I need to set a ServiceLocator somewhere as it fails on this line:

IServiceLocator locator = ServiceLocator.Current;

Any ideas and tips along the way?


I have just created a github project that used Ninject 2.0 and Prism 4.0 that should meet the need of anyone that want to swap unity or MEF for Ninject

Site is here: Prism Ninject Extension


Michael Hart implemented the necessary bits for Ninject in Prism"

You need only implement your own "NinjectBoostrapper" and an implementation of IServiceLocator that uses Ninject. The code in the link does all of this legwork for you.

0

精彩评论

暂无评论...
验证码 换一张
取 消