using Avalonia.Controls; using Avalonia.Interactivity; using Avalonia.Markup.Xaml; using Mesen.Utilities; using Mesen.ViewModels; namespace Mesen.Views { public class MainMenuView : UserControl { public Menu MainMenu { get; } public MainMenuView() { InitializeComponent(); MainMenu = this.GetControl("MainMenu"); MainMenu.MenuClosed += (s, e) => { //When an option is selected in the menu (e.g with enter or mouse click) //steal focus away from the menu to ensure pressing e.g left/right goes to the //game only and doesn't re-activate the main menu ApplicationHelper.GetMainWindow()?.Focus(); }; } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } private void mnuTools_Opened(object sender, RoutedEventArgs e) { if(DataContext is MainMenuViewModel model) { model.UpdateNetplayMenu(); } } } }