По сути, я хочу позволить пользователю вводить строковое значение и прокручивать список в списке до элемента, который соответствует набранному тексту (или первому LIKE совпадению).
Если я использую метод .ScrollIntoView (), проблема заключается в том, что он помещает элемент в нижнюю часть видимой области, если элемент находится ниже в списке, чем текущая позиция прокрутки, и в верхней части, если это выше в списке, чем текущая позиция прокрутки. Я хочу сделать это согласованным, сделав его верхним элементом в списке (если, конечно, это не может быть из-за того, что он является одним из последних «страниц» элементов).
Я попытался подделать его, выбрав элемент, который x ниже в списке, где x - количество видимых элементов. Это работает при спуске, но ломается при возврате. и я не смог определить, какой индекс в данный момент находится на верхнем видимом месте в моем списке.
Списки WinForms имеют свойство .TopIndex, которое точно соответствует тому, что я ищу, но я не смог найти эквивалент WPF. У кого-нибудь есть идеи, как этого добиться?
Заранее спасибо!