public void ValidateStackLayoutDoesNotRetainIncorrectMinorWidth() { RunOnUIThread.Execute(() => { var repeater = new ItemsRepeater() { ItemsSource = Enumerable.Range(0, 1) }; Content = new ScrollViewer() { Content = repeater, Width = 400, }; Content.UpdateLayout(); // Measure with large width. repeater.Measure(new Size(600, 100)); Verify.AreEqual(600, repeater.DesiredSize.Width); // Measure with smaller width again before arrange. // StackLayout has to pick up the smaller width for its extent. repeater.Measure(new Size(300, 100)); Verify.AreEqual(300, repeater.DesiredSize.Width); Content.UpdateLayout(); Verify.AreEqual(400, repeater.ActualWidth); }); }