diff --git a/src/Avalonia.Controls/Window.cs b/src/Avalonia.Controls/Window.cs index 18e60c37e8..439f5442b7 100644 --- a/src/Avalonia.Controls/Window.cs +++ b/src/Avalonia.Controls/Window.cs @@ -525,8 +525,8 @@ namespace Avalonia.Controls protected override Size MeasureOverride(Size availableSize) { var sizeToContent = SizeToContent; - var constraint = availableSize; var clientSize = ClientSize; + var constraint = clientSize; if (sizeToContent.HasFlagCustom(SizeToContent.Width)) { diff --git a/tests/Avalonia.Controls.UnitTests/WindowTests.cs b/tests/Avalonia.Controls.UnitTests/WindowTests.cs index 6740984f73..b431ac5b48 100644 --- a/tests/Avalonia.Controls.UnitTests/WindowTests.cs +++ b/tests/Avalonia.Controls.UnitTests/WindowTests.cs @@ -358,7 +358,8 @@ namespace Avalonia.Controls.UnitTests target.Show(); - Assert.Equal(new Size(100, 50), child.MeasureSize); + Assert.Equal(1, child.MeasureSizes.Count); + Assert.Equal(new Size(100, 50), child.MeasureSizes[0]); } } @@ -379,7 +380,8 @@ namespace Avalonia.Controls.UnitTests target.Show(); - Assert.Equal(new Size(550, 450), child.MeasureSize); + Assert.Equal(1, child.MeasureSizes.Count); + Assert.Equal(new Size(550, 450), child.MeasureSizes[0]); } } @@ -399,7 +401,8 @@ namespace Avalonia.Controls.UnitTests target.Show(); - Assert.Equal(Size.Infinity, child.MeasureSize); + Assert.Equal(1, child.MeasureSizes.Count); + Assert.Equal(Size.Infinity, child.MeasureSizes[0]); } } @@ -555,11 +558,11 @@ namespace Avalonia.Controls.UnitTests private class ChildControl : Control { - public Size MeasureSize { get; private set; } + public List MeasureSizes { get; } = new List(); protected override Size MeasureOverride(Size availableSize) { - MeasureSize = availableSize; + MeasureSizes.Add(availableSize); return base.MeasureOverride(availableSize); } }