From 57764ecd782d5f45cc5ee2924a2dce295c03ae7e Mon Sep 17 00:00:00 2001 From: chinboy Date: Thu, 17 Jul 2025 14:02:08 +0800 Subject: [PATCH] Fix Segmented margin bug --- src/AtomUI.Controls/Segmented/Segmented.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/AtomUI.Controls/Segmented/Segmented.cs b/src/AtomUI.Controls/Segmented/Segmented.cs index 53d111d10..bf3081071 100644 --- a/src/AtomUI.Controls/Segmented/Segmented.cs +++ b/src/AtomUI.Controls/Segmented/Segmented.cs @@ -176,10 +176,9 @@ public class Segmented : SelectingItemsControl, { var offset = segmentedItem.TranslatePoint(new Point(0, 0), this) ?? default; var offsetX = offset.X; - var offsetY = (DesiredSize.Height - segmentedItem.DesiredSize.Height) / 2; - var targetPos = new Point(offsetX, offsetY); + var targetPos = new Point(offsetX, offset.Y); SelectedThumbPos = targetPos; - SelectedThumbSize = segmentedItem.Bounds.Size; + SelectedThumbSize = segmentedItem.DesiredSize; } } } @@ -232,7 +231,7 @@ public class Segmented : SelectingItemsControl, public sealed override void Render(DrawingContext context) { - context.DrawRectangle(Background, null, new RoundedRect(new Rect(new Point(0, 0), Bounds.Size), CornerRadius)); + context.DrawRectangle(Background, null, new RoundedRect(new Rect(DesiredSize.Deflate(Margin)), CornerRadius)); context.DrawRectangle(SelectedThumbBg, null, new RoundedRect(new Rect(SelectedThumbPos, SelectedThumbSize), SelectedThumbCornerRadius), SelectedThumbBoxShadows);