|
@@ -525,7 +525,11 @@ public class ListView : View
|
|
|
|
|
|
if (Viewport.Y + _selected > Viewport.Height - 1)
|
|
if (Viewport.Y + _selected > Viewport.Height - 1)
|
|
{
|
|
{
|
|
- Viewport = Viewport with { Y = _selected };
|
|
|
|
|
|
+ int offset = _selected < Viewport.Height - 1
|
|
|
|
+ ? Math.Max (Viewport.Height - _selected + 1, 0)
|
|
|
|
+ : Math.Max (_selected - Viewport.Height - +1, 0);
|
|
|
|
+ SetContentSize (Viewport.Size with { Height = Viewport.Height + offset });
|
|
|
|
+ Viewport = Viewport with { Y = offset };
|
|
}
|
|
}
|
|
|
|
|
|
OnSelectedChanged ();
|
|
OnSelectedChanged ();
|