Существует метод ScrollIntoView, но он не собирается сохранять позицию только в том случае, если он находится где-то в списке.Если элемент находится ниже, он помещается в последнюю позицию.Так что, если вы поместите «правильный» последний раз в поле зрения, чтобы оттолкнуть кулак, как если бы предмет находился ниже, приведите его в последнюю позицию.У меня есть простой список из 3, и я сделал ListView Height = 40, чтобы в нем оставалось место только для 2. Следующий элемент вытолкнул первый элемент из поля зрения.
lvKDNames.ScrollIntoView (liIDName [2]);
Если Высота = Авто, будет сложнее определить правильный последний элемент, но это возможный подход.