From ea7d06ed6bfa52ba65fd74f310ed6ecaeb908c35 Mon Sep 17 00:00:00 2001 From: polarboy Date: Tue, 27 Aug 2024 16:52:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20TabControl=20=E6=BA=A2?= =?UTF-8?q?=E5=87=BA=E8=8F=9C=E5=8D=95=E5=AF=B9=E9=BD=90=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TabControl/TabControlScrollViewer.cs | 6 +++--- .../TabControl/TabStrip/TabStripScrollViewer.cs | 10 +++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/AtomUI.Controls/TabControl/TabControlScrollViewer.cs b/src/AtomUI.Controls/TabControl/TabControlScrollViewer.cs index fc19865bf..f34ad3062 100644 --- a/src/AtomUI.Controls/TabControl/TabControlScrollViewer.cs +++ b/src/AtomUI.Controls/TabControl/TabControlScrollViewer.cs @@ -35,11 +35,11 @@ internal class TabControlScrollViewer : BaseTabScrollViewer if (TabStripPlacement == Dock.Top) { _menuFlyout.Placement = PlacementMode.BottomEdgeAlignedLeft; } else if (TabStripPlacement == Dock.Bottom) { - _menuFlyout.Placement = PlacementMode.Top; + _menuFlyout.Placement = PlacementMode.TopEdgeAlignedLeft; } else if (TabStripPlacement == Dock.Right) { - _menuFlyout.Placement = PlacementMode.Left; + _menuFlyout.Placement = PlacementMode.LeftEdgeAlignedBottom; } else { - _menuFlyout.Placement = PlacementMode.Right; + _menuFlyout.Placement = PlacementMode.RightEdgeAlignedBottom; } // 收集没有完全显示的 Tab 列表 diff --git a/src/AtomUI.Controls/TabControl/TabStrip/TabStripScrollViewer.cs b/src/AtomUI.Controls/TabControl/TabStrip/TabStripScrollViewer.cs index 514e9a648..78a40da6a 100644 --- a/src/AtomUI.Controls/TabControl/TabStrip/TabStripScrollViewer.cs +++ b/src/AtomUI.Controls/TabControl/TabStrip/TabStripScrollViewer.cs @@ -29,10 +29,14 @@ internal class TabStripScrollViewer : BaseTabScrollViewer _menuFlyout = new MenuFlyout(); } - if (TabStripPlacement == Dock.Top || TabStripPlacement == Dock.Bottom) { - _menuFlyout.Placement = PlacementMode.Bottom; + if (TabStripPlacement == Dock.Top) { + _menuFlyout.Placement = PlacementMode.BottomEdgeAlignedLeft; + } else if (TabStripPlacement == Dock.Bottom) { + _menuFlyout.Placement = PlacementMode.TopEdgeAlignedLeft; + } else if (TabStripPlacement == Dock.Right) { + _menuFlyout.Placement = PlacementMode.LeftEdgeAlignedBottom; } else { - _menuFlyout.Placement = PlacementMode.Right; + _menuFlyout.Placement = PlacementMode.RightEdgeAlignedBottom; } // 收集没有完全显示的 Tab 列表