App.xaml.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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("avares://ControlCatalog/Styles"))
  14. {
  15. Source = new Uri("avares://Avalonia.Themes.Fluent/Accents/FluentDark.xaml")
  16. },
  17. };
  18. public static Styles FluentLight = new Styles
  19. {
  20. new StyleInclude(new Uri("avares://ControlCatalog/Styles"))
  21. {
  22. Source = new Uri("avares://Avalonia.Themes.Fluent/Accents/FluentLight.xaml")
  23. },
  24. };
  25. public static Styles DefaultLight = new Styles
  26. {
  27. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  28. {
  29. Source = new Uri("avares://Avalonia.Themes.Fluent/Accents/Base.xaml")
  30. },
  31. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  32. {
  33. Source = new Uri("avares://Avalonia.Themes.Fluent/Accents/BaseLight.xaml")
  34. },
  35. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  36. {
  37. Source = new Uri("avares://Avalonia.Themes.Default/Accents/BaseLight.xaml")
  38. },
  39. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  40. {
  41. Source = new Uri("avares://Avalonia.Themes.Default/DefaultTheme.xaml")
  42. },
  43. };
  44. public static Styles DefaultDark = new Styles
  45. {
  46. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  47. {
  48. Source = new Uri("avares://Avalonia.Themes.Fluent/Accents/Base.xaml")
  49. },
  50. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  51. {
  52. Source = new Uri("avares://Avalonia.Themes.Fluent/Accents/BaseDark.xaml")
  53. },
  54. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  55. {
  56. Source = new Uri("avares://Avalonia.Themes.Default/Accents/BaseDark.xaml")
  57. },
  58. new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
  59. {
  60. Source = new Uri("avares://Avalonia.Themes.Default/DefaultTheme.xaml")
  61. },
  62. };
  63. public override void Initialize()
  64. {
  65. AvaloniaXamlLoader.Load(this);
  66. Styles.Insert(0, FluentDark);
  67. }
  68. public override void OnFrameworkInitializationCompleted()
  69. {
  70. if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktopLifetime)
  71. desktopLifetime.MainWindow = new MainWindow();
  72. else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewLifetime)
  73. singleViewLifetime.MainView = new MainView();
  74. base.OnFrameworkInitializationCompleted();
  75. }
  76. }
  77. }