diff --git a/src/Avalonia.Controls/INativeMenuExporterEventsImplBridge.cs b/src/Avalonia.Controls/INativeMenuExporterEventsImplBridge.cs new file mode 100644 index 0000000000..672d5c1a13 --- /dev/null +++ b/src/Avalonia.Controls/INativeMenuExporterEventsImplBridge.cs @@ -0,0 +1,7 @@ +namespace Avalonia.Controls +{ + public interface INativeMenuExporterEventsImplBridge + { + void RaiseNeedsUpdate (); + } +} diff --git a/src/Avalonia.Controls/NativeMenu.cs b/src/Avalonia.Controls/NativeMenu.cs index 91c11f1a58..1c81a61de7 100644 --- a/src/Avalonia.Controls/NativeMenu.cs +++ b/src/Avalonia.Controls/NativeMenu.cs @@ -7,7 +7,7 @@ using Avalonia.Metadata; namespace Avalonia.Controls { - public partial class NativeMenu : AvaloniaObject, IEnumerable + public partial class NativeMenu : AvaloniaObject, IEnumerable, INativeMenuExporterEventsImplBridge { private readonly AvaloniaList _items = new AvaloniaList { ResetBehavior = ResetBehavior.Remove }; @@ -23,7 +23,7 @@ namespace Avalonia.Controls _items.CollectionChanged += ItemsChanged; } - public void RaiseNeedsUpdate () + void INativeMenuExporterEventsImplBridge.RaiseNeedsUpdate () { NeedsUpdate?.Invoke(this, EventArgs.Empty); } diff --git a/src/Avalonia.Native/IAvnMenu.cs b/src/Avalonia.Native/IAvnMenu.cs index 0610e67c6a..9abc818e9b 100644 --- a/src/Avalonia.Native/IAvnMenu.cs +++ b/src/Avalonia.Native/IAvnMenu.cs @@ -32,7 +32,7 @@ namespace Avalonia.Native.Interop internal void RaiseNeedsUpdate () { - ManagedMenu.RaiseNeedsUpdate(); + (ManagedMenu as INativeMenuExporterEventsImplBridge).RaiseNeedsUpdate(); _exporter.InvalidateMenu(); }