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 列表