protected override void RegisterRequiredTypes(IContainerRegistry containerRegistry) { base.RegisterRequiredTypes(containerRegistry); _container.RegisterSingleton <IServiceLocator, SimpleInjectorServiceLocator>(); var whitelistedServiceLocator = new WhitelistedServiceLocator(_container); RestrictedServiceLocator.Current = whitelistedServiceLocator; _container.RegisterSingleton <IWhitelistedServiceLocator>(() => whitelistedServiceLocator); _container.RegisterSingleton <IShellManager, ShellManager>(); _container.RegisterSingleton <IRegionNavigationContentLoader, RegionNavigationContentLoader>(); }
} = new TextLogger(); // TODO make implementation using NLog public void ConfigurePrismDependecies(Container container) { var locator = new SimpleInjectorServiceLocator(container); ServiceLocator.SetLocatorProvider(() => locator); container.RegisterSingleton <IServiceLocator>(() => locator); var whitelistedServiceLocator = new WhitelistedServiceLocator(container); RestrictedServiceLocator.Current = whitelistedServiceLocator; container.RegisterSingleton <IWhitelistedServiceLocator>(() => whitelistedServiceLocator); var regionManager = new RegionManager(); var shellManager = new ShellManager(whitelistedServiceLocator, regionManager, new WpfTopMostHelper(), _profileSettingsTabs, _applicationSettingsTabs); container.RegisterSingleton <IRegionManager>(() => regionManager); container.RegisterSingleton <IShellManager>(() => shellManager); ConfigureContainer(container); }