App.xaml.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. using Avalonia;
  3. using Avalonia.Controls;
  4. using Avalonia.Controls.ApplicationLifetimes;
  5. using Avalonia.Markup.Xaml;
  6. namespace ControlCatalog
  7. {
  8. public class App : Application
  9. {
  10. private NativeMenu _recentMenu;
  11. public override void Initialize()
  12. {
  13. AvaloniaXamlLoader.Load(this);
  14. Name = "Avalonia";
  15. _recentMenu = (NativeMenu.GetMenu(this).Items[1] as NativeMenuItem).Menu;
  16. }
  17. public void OnOpenClicked(object sender, EventArgs args)
  18. {
  19. _recentMenu.Items.Insert(0, new NativeMenuItem("Item " + (_recentMenu.Items.Count + 1)));
  20. }
  21. public override void OnFrameworkInitializationCompleted()
  22. {
  23. if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktopLifetime)
  24. desktopLifetime.MainWindow = new MainWindow();
  25. else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewLifetime)
  26. singleViewLifetime.MainView = new MainView();
  27. base.OnFrameworkInitializationCompleted();
  28. }
  29. }
  30. }