Browse Source

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.
pull/10892/head
Steven Kirk 4 years ago
parent
commit
e1b0d5e137
  1. 2
      src/Avalonia.Controls/VirtualizingStackPanel.cs

2
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;

Loading…
Cancel
Save