diff --git a/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs b/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs index 3a45c85c70..bcd859100a 100644 --- a/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs +++ b/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs @@ -43,5 +43,18 @@ namespace Avalonia.Controls { return new MenuItemContainerGenerator(this); } + + protected override void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e) + { + base.OnDetachedFromVisualTree(e); + + foreach (var i in LogicalChildren) + { + if (i is MenuItem menuItem) + { + menuItem.IsSubMenuOpen = false; + } + } + } } }