Skip to content

Commit dd3631e

Browse files
committed
fix: Avoid deflating layout slot rect by border thickness twice
1 parent 2cfb475 commit dd3631e

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewBaseItemChrome.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1025,7 +1025,7 @@ internal void InvalidateRender()
10251025
//}
10261026
}
10271027

1028-
private Thickness GetItemBorderThickness()
1028+
internal Thickness GetItemBorderThickness()
10291029
{
10301030
var pOwner = GetOwner();
10311031
if (pOwner is { })

src/Uno.UI/UI/Xaml/FrameworkElementExtensions.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,12 @@ internal static bool TryGetBorderThickness(this IFrameworkElement frameworkEleme
368368
return true;
369369
}
370370

371+
if (__LinkerHints.Is_Windows_UI_Xaml_Controls_CalendarViewBaseItem_Available && frameworkElement is CalendarViewBaseItem cbi)
372+
{
373+
borderThickness = cbi.GetItemBorderThickness();
374+
return true;
375+
}
376+
371377
borderThickness = default;
372378
return false;
373379
}

src/Uno.UI/UI/Xaml/UIElement.skia.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -270,10 +270,7 @@ partial void OnRenderTransformSet()
270270

271271
internal void ArrangeVisual(Rect finalRect, Rect? clippedFrame = default)
272272
{
273-
LayoutSlotWithMarginsAndAlignments =
274-
VisualTreeHelper.GetParent(this) is UIElement parent and not RootVisual
275-
? finalRect.DeflateBy(parent.GetBorderThickness())
276-
: finalRect;
273+
LayoutSlotWithMarginsAndAlignments = finalRect;
277274

278275
var oldFinalRect = _currentFinalRect;
279276
_currentFinalRect = finalRect;

src/Uno.UI/UI/Xaml/UIElement.wasm.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,10 +219,7 @@ protected internal void SetClasses(string[] cssClasses, int index = -1)
219219
/// <param name="clipRect">The Clip rect to set, if any</param>
220220
protected internal void ArrangeVisual(Rect rect, Rect? clipRect)
221221
{
222-
LayoutSlotWithMarginsAndAlignments =
223-
VisualTreeHelper.GetParent(this) is UIElement parent && parent is not RootVisual
224-
? rect.DeflateBy(parent.GetBorderThickness())
225-
: rect;
222+
LayoutSlotWithMarginsAndAlignments = rect;
226223

227224
if (FeatureConfiguration.UIElement.AssignDOMXamlProperties)
228225
{

0 commit comments

Comments
 (0)