using System; using Avalonia; using Avalonia.Controls; using Avalonia.Interactivity; using Avalonia.Markup.Xaml; namespace IntegrationTestApp { public class MainWindow : Window { public MainWindow() { InitializeComponent(); InitializeViewMenu(); this.AttachDevTools(); } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } private void InitializeViewMenu() { var mainTabs = this.FindControl("MainTabs"); var viewMenu = (NativeMenuItem)NativeMenu.GetMenu(this).Items[1]; foreach (TabItem tabItem in mainTabs.Items) { var menuItem = new NativeMenuItem { Header = (string)tabItem.Header!, IsChecked = tabItem.IsSelected, ToggleType = NativeMenuItemToggleType.Radio, }; menuItem.Click += (s, e) => tabItem.IsSelected = true; viewMenu.Menu.Items.Add(menuItem); } } private void MenuClicked(object? sender, RoutedEventArgs e) { var clickedMenuItemTextBlock = this.FindControl("ClickedMenuItem"); clickedMenuItemTextBlock.Text = ((MenuItem)sender!).Header.ToString(); } } }