App.xaml.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using MinicsUI.ViewModels.Regions;
  2. using MinicsUI.Views.Regions;
  3. namespace BlankPrism;
  4. public partial class App : PrismApplication
  5. {
  6. protected override Window CreateShell() => Container.Resolve<MainWindow>();
  7. protected override void OnStartup(StartupEventArgs e)
  8. {
  9. Mutex mutex = new(true, "1E8B4FF8-C1BF-33AB-AE6D-6DF9BEBDB5B9", out bool flag);
  10. if (!flag)
  11. return;
  12. DispatcherUnhandledException += App_DispatcherUnhandledException;
  13. base.OnStartup(e);
  14. }
  15. private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
  16. {
  17. MessageBox.Show(e.Exception!.ToString()!);
  18. }
  19. protected override void OnExit(ExitEventArgs e)
  20. {
  21. SetWindow.ExitParent();
  22. App.Current?.Dispatcher.InvokeShutdown();
  23. base.OnExit(e);
  24. }
  25. protected override void RegisterTypes(IContainerRegistry containerRegistry)
  26. {
  27. containerRegistry.RegisterDialogWindow<Window1>();
  28. containerRegistry.RegisterDialog<SettingDialog, SettingDialogViewModel>("Setting");
  29. containerRegistry.RegisterDialog<FileLoader, FileLoaderViewModel>("File");
  30. containerRegistry.RegisterDialog<ChannelDetail, ChannedDetailViewModel>("Channel");
  31. containerRegistry.RegisterDialog<ThemeMessageBox, ThemeMessageBoxViewModel>("MessageBox");
  32. containerRegistry.RegisterDialog<ConfigFileComparision, ConfigFileComparisionViewModel>("Compare");
  33. containerRegistry.RegisterDialog<TraceLog, TraceLogViewModel>("TraceLog");
  34. containerRegistry.RegisterForNavigation<Alarm, AlarmViewModel>("Alarm");
  35. containerRegistry.RegisterForNavigation<HistoryView.Views.Regions.Monitor, MonitorViewModel>("Monitor");
  36. containerRegistry.RegisterForNavigation<ChannelMultiEdit, ChannelMultiEditViewModel>("MultiEdit");
  37. containerRegistry.RegisterForNavigation<Settings, SettingViewModel>("Setting");
  38. containerRegistry.RegisterForNavigation<GasPanelHolder, GasPanelViewModel>("GasPanel");
  39. containerRegistry.RegisterForNavigation<HeaterGramHolder, HeaterGramHolderViewModel>("HeaterGram");
  40. containerRegistry.RegisterForNavigation<ConfigEditor, ConfigEditorViewModel>("ConfigEditor");
  41. containerRegistry.RegisterSingleton<MessageBoxHelper>();
  42. containerRegistry.RegisterSingleton<DatabaseCleaner>();
  43. containerRegistry.RegisterSingleton<LanguageLoader>();
  44. containerRegistry.RegisterSingleton<MonitorHelper>();
  45. containerRegistry.RegisterSingleton<Hardwares>();
  46. containerRegistry.RegisterSingleton<Alarms>();
  47. containerRegistry.RegisterSingleton<TemperatureConfigs>();
  48. containerRegistry.RegisterSingleton<UserInformation>();
  49. containerRegistry.RegisterSingleton<HubSender>();
  50. containerRegistry.RegisterSingleton<HubReceiver>();
  51. containerRegistry.RegisterSingleton<AlarmRealtime>();
  52. containerRegistry.RegisterSingleton<HistoryViewer>();
  53. containerRegistry.RegisterSingleton<UserCollection>();
  54. }
  55. }