From 107e5a1bfbc9907581bbf8a218b1dbcbd4b67bbc Mon Sep 17 00:00:00 2001 From: chinboy Date: Tue, 16 Sep 2025 17:41:40 +0800 Subject: [PATCH] Fixed TabControl overflow menu bug --- src/AtomUI.Controls/Flyouts/MenuFlyout.cs | 9 ++------- src/AtomUI.Controls/Flyouts/MenuFlyoutPresenter.cs | 1 + 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/AtomUI.Controls/Flyouts/MenuFlyout.cs b/src/AtomUI.Controls/Flyouts/MenuFlyout.cs index baa5fa39d..dff8cbc8b 100644 --- a/src/AtomUI.Controls/Flyouts/MenuFlyout.cs +++ b/src/AtomUI.Controls/Flyouts/MenuFlyout.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Collections.Specialized; using System.ComponentModel; using System.Reactive.Disposables; using AtomUI.Controls.Utils; @@ -63,18 +64,12 @@ public class MenuFlyout : Flyout Presenter = new MenuFlyoutPresenter { - ItemsSource = Items, MenuFlyout = this }; - // 会二次创建 foreach (var item in Items) { - if (item is Control control) - { - control.SetLogicalParent(null); - control.SetVisualParent(null); - } + Presenter.Items.Add(item); } _presenterBindingDisposables.Add(BindUtils.RelayBind(this, ItemTemplateProperty, Presenter, MenuFlyoutPresenter.ItemTemplateProperty)); diff --git a/src/AtomUI.Controls/Flyouts/MenuFlyoutPresenter.cs b/src/AtomUI.Controls/Flyouts/MenuFlyoutPresenter.cs index 4533ba29b..6e123dcaf 100644 --- a/src/AtomUI.Controls/Flyouts/MenuFlyoutPresenter.cs +++ b/src/AtomUI.Controls/Flyouts/MenuFlyoutPresenter.cs @@ -11,6 +11,7 @@ using Avalonia.Controls.Platform; using Avalonia.Controls.Primitives; using Avalonia.Interactivity; using Avalonia.Media; +using Avalonia.VisualTree; namespace AtomUI.Controls;