App.xaml.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using Avalonia;
  3. using Avalonia.Controls.ApplicationLifetimes;
  4. using Avalonia.Markup.Xaml;
  5. using Avalonia.Markup.Xaml.Styling;
  6. using Avalonia.Styling;
  7. namespace ControlCatalog
  8. {
  9. public class App : Application
  10. {
  11. public static Styles FluentDark = new Styles
  12. {
  13. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  14. {
  15. Source = new Uri("resm:Avalonia.Themes.Default.Accents.BaseDark.xaml?assembly=Avalonia.Themes.Default")
  16. },
  17. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  18. {
  19. Source = new Uri("resm:Avalonia.Themes.Fluent.Accents.FluentDark.xaml?assembly=Avalonia.Themes.Fluent")
  20. },
  21. };
  22. public static Styles FluentLight = new Styles
  23. {
  24. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  25. {
  26. Source = new Uri("resm:Avalonia.Themes.Default.Accents.BaseLight.xaml?assembly=Avalonia.Themes.Default")
  27. },
  28. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  29. {
  30. Source = new Uri("resm:Avalonia.Themes.Fluent.Accents.FluentLight.xaml?assembly=Avalonia.Themes.Fluent")
  31. },
  32. };
  33. public static Styles DefaultLight = new Styles
  34. {
  35. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  36. {
  37. Source = new Uri("resm:Avalonia.Themes.Default.Accents.BaseLight.xaml?assembly=Avalonia.Themes.Default")
  38. },
  39. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  40. {
  41. Source = new Uri("resm:Avalonia.Themes.Default.DefaultTheme.xaml?assembly=Avalonia.Themes.Default")
  42. },
  43. };
  44. public static Styles DefaultDark = new Styles
  45. {
  46. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  47. {
  48. Source = new Uri("resm:Avalonia.Themes.Default.Accents.BaseDark.xaml?assembly=Avalonia.Themes.Default")
  49. },
  50. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  51. {
  52. Source = new Uri("resm:Avalonia.Themes.Default.DefaultTheme.xaml?assembly=Avalonia.Themes.Default")
  53. },
  54. };
  55. public override void Initialize()
  56. {
  57. AvaloniaXamlLoader.Load(this);
  58. Styles.Insert(0, FluentDark);
  59. }
  60. public override void OnFrameworkInitializationCompleted()
  61. {
  62. if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktopLifetime)
  63. desktopLifetime.MainWindow = new MainWindow();
  64. else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewLifetime)
  65. singleViewLifetime.MainView = new MainView();
  66. base.OnFrameworkInitializationCompleted();
  67. }
  68. }
  69. }