From a465b3ab212f956ec05728b4f034f8a368193fe4 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Fri, 27 Sep 2019 13:21:24 +0100 Subject: [PATCH] make app menu declaration sensible. --- samples/ControlCatalog/App.xaml | 24 +++++++------------ samples/ControlCatalog/App.xaml.cs | 2 +- .../AvaloniaNativeMenuExporter.cs | 11 ++++++++- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/samples/ControlCatalog/App.xaml b/samples/ControlCatalog/App.xaml index 914f5d5b9b..335c460b40 100644 --- a/samples/ControlCatalog/App.xaml +++ b/samples/ControlCatalog/App.xaml @@ -19,20 +19,14 @@ - - - - - - - - - - - - - - - + + + + + + + + + diff --git a/samples/ControlCatalog/App.xaml.cs b/samples/ControlCatalog/App.xaml.cs index 1eebc7e3b5..4fc63ea054 100644 --- a/samples/ControlCatalog/App.xaml.cs +++ b/samples/ControlCatalog/App.xaml.cs @@ -16,7 +16,7 @@ namespace ControlCatalog Name = "Avalonia"; - _recentMenu = ((NativeMenu.GetMenu(this).Items[0] as NativeMenuItem).Menu.Items[1] as NativeMenuItem).Menu; + _recentMenu = (NativeMenu.GetMenu(this).Items[1] as NativeMenuItem).Menu; } public void OnOpenClicked(object sender, EventArgs args) diff --git a/src/Avalonia.Native/AvaloniaNativeMenuExporter.cs b/src/Avalonia.Native/AvaloniaNativeMenuExporter.cs index 33420f49f5..cee30a6876 100644 --- a/src/Avalonia.Native/AvaloniaNativeMenuExporter.cs +++ b/src/Avalonia.Native/AvaloniaNativeMenuExporter.cs @@ -276,8 +276,17 @@ namespace Avalonia.Native appMenu = _factory.CreateMenu(); } + var menuItem = new NativeMenuItem(); + + menuItem.Menu = new NativeMenu(); + + foreach(var item in menuItems) + { + menuItem.Menu.Add(item); + } + appMenu.Clear(); - AddItemsToMenu(appMenu, menuItems); + AddItemsToMenu(appMenu, new List { menuItem }); _factory.SetAppMenu(appMenu); }