Fix Segmented margin bug

This commit is contained in:
chinboy
2025-07-17 14:02:08 +08:00
parent e57e8c0a15
commit 57764ecd78
+3 -4
View File
@@ -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);