1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System;
- using System.Runtime.InteropServices;
- using Avalonia;
- using Avalonia.Controls;
- using Avalonia.Controls.Notifications;
- using Avalonia.Input;
- using Avalonia.Markup.Xaml;
- using ControlCatalog.ViewModels;
- namespace ControlCatalog
- {
- public class MainWindow : Window
- {
- private NativeMenu? _recentMenu;
- public MainWindow()
- {
- this.InitializeComponent();
- _recentMenu = ((NativeMenu.GetMenu(this)?.Items[0] as NativeMenuItem)?.Menu?.Items[2] as NativeMenuItem)?.Menu;
- }
- public static string MenuQuitHeader => RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? "Quit Avalonia" : "E_xit";
- public static KeyGesture MenuQuitGesture => RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ?
- new KeyGesture(Key.Q, KeyModifiers.Meta) :
- new KeyGesture(Key.F4, KeyModifiers.Alt);
- public void OnOpenClicked(object sender, EventArgs args)
- {
- _recentMenu?.Items.Insert(0, new NativeMenuItem("Item " + (_recentMenu.Items.Count + 1)));
- }
- public void OnCloseClicked(object sender, EventArgs args)
- {
- Close();
- }
- private void InitializeComponent()
- {
- AvaloniaXamlLoader.Load(this);
- }
- }
- }
|