/// <inheritdoc/> protected override void RegisterTypes(IContainerRegistry containerRegistry) { _applicationSettings = ApplicationSettings.LoadFromFile(AppDomain.CurrentDomain.BaseDirectory + AppSettingsFileName); containerRegistry.RegisterInstance <IApplicationSettings>(_applicationSettings); _systemDialogService = new SystemDialogService(); containerRegistry.RegisterInstance <ISystemDialogService>(_systemDialogService); _scriptVideoService = new ScriptVideoService(_systemDialogService); containerRegistry.RegisterInstance <IScriptVideoService>(_scriptVideoService); _clipboardService = new ClipboardService(); containerRegistry.RegisterInstance <IClipboardService>(_clipboardService); containerRegistry.RegisterSingleton <IProjectService, ProjectService>(); containerRegistry.RegisterInstance <MonitoredUndo.IUndoService>(MonitoredUndo.UndoService.Current); containerRegistry.RegisterSingleton <MonitoredUndo.IChangeFactory, MonitoredUndo.ChangeFactory>(); containerRegistry.RegisterSingleton <IApplicationCommands, ApplicationCommands>(); containerRegistry.RegisterSingleton <ITimelineCommands, TimelineCommands>(); containerRegistry.RegisterDialog <Views.Dialogs.InputValuePromptDialog, ViewModels.Dialogs.InputValuePromptDialogViewModel>(); containerRegistry.RegisterDialog <Views.Dialogs.OutputVideoPropertiesDialog, ViewModels.Dialogs.OutputVideoPropertiesDialogViewModel>(); containerRegistry.RegisterForNavigation <Views.Cropping.CroppingVideoOverlayView>(); containerRegistry.RegisterForNavigation <Views.Cropping.CroppingRibbonGroupView>(); containerRegistry.RegisterForNavigation <Views.Cropping.CroppingDetailsView>(); containerRegistry.RegisterForNavigation <Views.Masking.MaskingVideoOverlayView>(); containerRegistry.RegisterForNavigation <Views.Masking.MaskingRibbonGroupView>(); containerRegistry.RegisterForNavigation <Views.Masking.MaskingDetailsView>(); }
private void OnStartup(object sender, StartupEventArgs e) { DispatcherHelper.Initialize(); var dispatcherHelper = new DispatcherHelperEx(); var systemDialogService = new SystemDialogService(); var productVersion = string.Empty; try { productVersion = ApplicationDeployment.CurrentDeployment .CurrentVersion.ToString(); } catch (InvalidDeploymentException) { productVersion = Assembly.GetExecutingAssembly().GetName() .Version.ToString(); } var mainVm = new MainViewModel( dispatcherHelper, systemDialogService, productVersion); var mainWindow = new MainWindow { DataContext = mainVm }; mainWindow.Show(); }
/// <summary> /// Ensures that all local service instances /// are safely disposed. /// </summary> private void DisposeServiceInstances() { _scriptVideoService?.Dispose(); _scriptVideoService = null; _systemDialogService = null; _clipboardService?.Dispose(); _clipboardService = null; }