diff --git a/src/Avalonia.Layout/StackLayout.cs b/src/Avalonia.Layout/StackLayout.cs index b383c205f9..d11875b2c1 100644 --- a/src/Avalonia.Layout/StackLayout.cs +++ b/src/Avalonia.Layout/StackLayout.cs @@ -277,6 +277,8 @@ namespace Avalonia.Layout protected internal override Size MeasureOverride(VirtualizingLayoutContext context, Size availableSize) { + ((StackLayoutState)context.LayoutState).OnMeasureStart(); + var desiredSize = GetFlowAlgorithm(context).Measure( availableSize, context, @@ -300,8 +302,6 @@ namespace Avalonia.Layout FlowLayoutAlgorithm.LineAlignment.Start, LayoutId); - ((StackLayoutState)context.LayoutState).OnArrangeLayoutEnd(); - return new Size(value.Width, value.Height); } diff --git a/src/Avalonia.Layout/StackLayoutState.cs b/src/Avalonia.Layout/StackLayoutState.cs index 05ad9bca8e..e6164e02e6 100644 --- a/src/Avalonia.Layout/StackLayoutState.cs +++ b/src/Avalonia.Layout/StackLayoutState.cs @@ -56,6 +56,6 @@ namespace Avalonia.Layout MaxArrangeBounds = Math.Max(MaxArrangeBounds, minorSize); } - internal void OnArrangeLayoutEnd() => MaxArrangeBounds = 0; + internal void OnMeasureStart() => MaxArrangeBounds = 0; } }