1
0
Эх сурвалжийг харах

We can't realize items outside of our bounds.

`EffectiveViewportChanged` can result in a viewport that is larger than the panel bounds in cases where clipping is not enabled on the parent. Constrain the viewport to the size of the panel.
Steven Kirk 2 жил өмнө
parent
commit
e1b0d5e137

+ 1 - 1
src/Avalonia.Controls/VirtualizingStackPanel.cs

@@ -679,7 +679,7 @@ namespace Avalonia.Controls
             var oldViewportStart = vertical ? _viewport.Top : _viewport.Left;
             var oldViewportEnd = vertical ? _viewport.Bottom : _viewport.Right;
 
-            _viewport = e.EffectiveViewport;
+            _viewport = e.EffectiveViewport.Intersect(new(Bounds.Size));
             _isWaitingForViewportUpdate = false;
 
             var newViewportStart = vertical ? _viewport.Top : _viewport.Left;