private void RegisterDependencies() { // Register all dialog windows DialogService dialogService = new DialogService(MainWindow); dialogService.Register <UnitImportWindowViewModel, UnitImportWidow>(); dialogService.Register <ConnectionWindowViewModel, ConnectionWindow>(); dialogService.Register <SettingsWindowViewModel, SettingsWindow>(); IoC.Container.Options.DefaultScopedLifestyle = new ThreadScopedLifestyle(); // Register dependencies IoC.Container.Register <IDialogService>(() => dialogService, Lifestyle.Singleton); IoC.Container.Register <ApplicationViewModel>(Lifestyle.Singleton); IoC.Container.Register <MainWindow>(); IoC.Container.Register <MainWindowViewModel>(Lifestyle.Singleton); IoC.Container.Register <SettingsWindow>(Lifestyle.Transient); IoC.Container.Register <SettingsWindowViewModel>(Lifestyle.Singleton); IoC.Container.Register <UnitImportWidow>(Lifestyle.Transient); IoC.Container.Register <UnitImportWindowViewModel>(Lifestyle.Singleton); IoC.Container.Register <ConnectionWindow>(Lifestyle.Transient); IoC.Container.Register <ConnectionWindowViewModel>(Lifestyle.Singleton); IoC.Container.Register <BattleSimulatorView>(Lifestyle.Singleton); IoC.Container.Register <BattleSimulatorViewModel>(Lifestyle.Singleton); IoC.Container.Register <AttackPlannerView>(Lifestyle.Singleton); IoC.Container.Register <AttackPlannerViewModel>(Lifestyle.Singleton); IoC.Container.Register <BattleInput>(Lifestyle.Singleton); IoC.Container.Register <BattleInputViewModel>(Lifestyle.Singleton); ApplicationCore.OnStartUp(); IoC.Container.Verify(VerificationOption.VerifyAndDiagnose); }