App.axaml.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Avalonia;
  2. using Avalonia.Controls.ApplicationLifetimes;
  3. using Avalonia.Markup.Xaml;
  4. #if DEBUG
  5. using HotAvalonia;
  6. using System.Linq;
  7. using System.Runtime.InteropServices;
  8. #endif
  9. namespace Dynamicloadsimulationdevice
  10. {
  11. public partial class App : Application
  12. {
  13. public override void Initialize()
  14. {
  15. #if DEBUG
  16. if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
  17. {
  18. this.EnableHotReload();
  19. }
  20. #endif
  21. AvaloniaXamlLoader.Load(this);
  22. }
  23. public override void OnFrameworkInitializationCompleted()
  24. {
  25. IViewModel.SplashScreen splashScreen = new IViewModel.SplashScreen();
  26. splashScreen.Show();
  27. ViewModels.MainWindowViewModel.Instance.Init();
  28. if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
  29. {
  30. if (desktop.Args!.Contains("-debug"))
  31. {
  32. ViewModels.MainWindowViewModel.Instance.Debug = true;
  33. }
  34. #if DEBUG
  35. ViewModels.MainWindowViewModel.Instance.Debug = true;
  36. #endif
  37. desktop.MainWindow = new MainWindow();
  38. desktop.MainWindow.Loaded += (_, _) => splashScreen.Close();
  39. }
  40. base.OnFrameworkInitializationCompleted();
  41. }
  42. }
  43. }