From 570e7a979c07547d3b5304f6b822e52823099dbc Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Mon, 8 May 2023 13:15:58 +0200 Subject: [PATCH 1/2] Added failing test for #11272. --- .../VirtualizingStackPanelTests.cs | 43 ++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/tests/Avalonia.Controls.UnitTests/VirtualizingStackPanelTests.cs b/tests/Avalonia.Controls.UnitTests/VirtualizingStackPanelTests.cs index 61c21f46f4..951ca4e2c8 100644 --- a/tests/Avalonia.Controls.UnitTests/VirtualizingStackPanelTests.cs +++ b/tests/Avalonia.Controls.UnitTests/VirtualizingStackPanelTests.cs @@ -635,6 +635,22 @@ namespace Avalonia.Controls.UnitTests } } + [Fact] + public void Does_Not_Throw_When_Estimating_Viewport_With_Ancestor_Margin() + { + // Issue #11272 + using var app = App(); + var (_, _, itemsControl) = CreateUnrootedTarget(); + var container = new Decorator { Margin = new Thickness(100) }; + var root = new TestRoot(true, container); + + root.LayoutManager.ExecuteInitialLayoutPass(); + + container.Child = itemsControl; + + root.LayoutManager.ExecuteLayoutPass(); + } + private static IReadOnlyList GetRealizedIndexes(VirtualizingStackPanel target, ItemsControl itemsControl) { return target.GetRealizedElements() @@ -681,6 +697,18 @@ namespace Avalonia.Controls.UnitTests IEnumerable? items = null, Optional itemTemplate = default, IEnumerable