|
|
@ -512,6 +512,14 @@ namespace Avalonia.Controls.Presenters |
|
|
var generator = Owner.ItemContainerGenerator; |
|
|
var generator = Owner.ItemContainerGenerator; |
|
|
var newOffset = -1.0; |
|
|
var newOffset = -1.0; |
|
|
|
|
|
|
|
|
|
|
|
if (!panel.IsMeasureValid && panel.PreviousMeasure.HasValue) |
|
|
|
|
|
{ |
|
|
|
|
|
//before any kind of scrolling we need to make sure panel measure is valid
|
|
|
|
|
|
//or we risk get panel into not valid state
|
|
|
|
|
|
//we make a preemptive quick measure so scrolling is valid
|
|
|
|
|
|
panel.Measure(panel.PreviousMeasure.Value); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (index >= 0 && index < ItemCount) |
|
|
if (index >= 0 && index < ItemCount) |
|
|
{ |
|
|
{ |
|
|
if (index <= FirstIndex) |
|
|
if (index <= FirstIndex) |
|
|
|