protected override void Configure() { _unityContainer = new UnityContainer(); _unityContainer.RegisterSingleton <IWindowManager, NtWindowManager>(); _unityContainer.RegisterInstance <IEventAggregator>(new EventAggregator(), new ContainerControlledLifetimeManager()); // Register Services ServiceLoader.RegisterServices(_unityContainer); // MahApps _unityContainer.RegisterInstance <IDialogCoordinator>(new DialogCoordinator()); //View Models _unityContainer.RegisterInstance(new ShellViewModel(_unityContainer.Resolve <IDialogCoordinator>(), _unityContainer.Resolve <ICurrentUserService>(), _unityContainer.Resolve <IEventAggregator>())); foreach (var vmTypes in ViewModelLoader.GetViewModels()) { _unityContainer.RegisterType(vmTypes); } LogManager.GetLog = type => new BootstrapLogger(type); ConfigureNameTransformer(); }
protected override IEnumerable <Assembly> SelectAssemblies() { var baseList = base.SelectAssemblies().ToList(); var otherAssembliesToSearch = ViewModelLoader.GetAssemblies(); baseList.AddRange(otherAssembliesToSearch); return(baseList); }