Кто-либо там использует платформу Призмы с Ninject вместо Единицы? Мне нужна некоторая Единица функциональности еще, не поддерживает, и я решил переключить контейнер МОК на Ninject. Я борюсь немного с заменой хотя..
То, что я должен использовать от Призмы, является EventAggregator и RegionManager. Я видел этот образец, который на самом деле делает замену, но это записано для более старой версии Призмы, и несколько из классов, кажется, изменились и т.д., Таким образом, я закончил все перепутанные после смотрящий, сделав некоторое усилие в попытке переписать его.
Таким образом - мой вопрос в основном: Как я могу заменить Единицу Ninject?
Каковы необходимые шаги? Первоначально я предположил, что мог записать простой bootstrapper, который создает и настраивает контейнер Ninject и использует это для разрешения всех других объектов. Я связываю IEventAggregator с EventAggregator и IRegionManager к RegionManager, но он перестал работать при создании Shell и RegionManager. CreateRegion называют. Проблема состоит в том, что кажется, что я должен установить ServiceLocator где-нибудь, поскольку это перестало работать на этой строке:
IServiceLocator locator = ServiceLocator.Current;
Какие-либо идеи и подсказки по пути?
Майкл Харт реализовал необходимые биты для Ninject in Prism »
Вам нужно только реализовать свой собственный« NinjectBoostrapper »и реализацию IServiceLocator, который использует Ninject. Код по ссылке делает всю эту работу за вас.