diff --git a/src/Uno.UI/UI/Xaml/MobileLayoutingHelpers.cs b/src/Uno.UI/UI/Xaml/MobileLayoutingHelpers.cs index 4887c1fbf901..0fcefd85650a 100644 --- a/src/Uno.UI/UI/Xaml/MobileLayoutingHelpers.cs +++ b/src/Uno.UI/UI/Xaml/MobileLayoutingHelpers.cs @@ -56,6 +56,8 @@ public static Size MeasureElement(View view, Size availableSize) var desiredSizeFromLayouterElement = layouterElement.Measure(availableSize); LayoutInformation.SetDesiredSize(view, desiredSizeFromLayouterElement); LayoutInformation.SetAvailableSize(view, availableSize); + + view.InvalidateArrangeOnNativeOnly(); return desiredSizeFromLayouterElement; } @@ -171,6 +173,7 @@ public static void ArrangeElement(View view, Rect finalRect) // We workaround this by passing the previous LayoutSlot which is the correct rect that was set during native measure. var workaroundThatManagedArrangeHappensDuringNativeMeasure = view is NativeListViewBase; + view.RequestLayout(); view.Layout((int)physicalRect.Left, (int)physicalRect.Top, (int)physicalRect.Right, (int)physicalRect.Bottom); if (view is ViewGroup viewGroup) {