From ebc00d626e81bbee4b8f6ec3673cb11da4ce53f9 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Wed, 26 Jan 2022 18:12:03 +0000 Subject: [PATCH] Merge pull request #7436 from AvaloniaUI/ensure-flyout-closed Ensure menu children are closed on menu flyout presenter detached --- .../Flyouts/MenuFlyoutPresenter.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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; + } + } + } } }