WPF Listbox отображать следующий элемент после SelectedItem - PullRequest
1 голос
/ 12 мая 2009

У меня есть TextBox и ListBox с кучей элементов.

TextBox имеет обработчик событий KeyDown, идея которого заключается в том, чтобы позволить пользователю нажимать клавиши вверх и вниз для прокрутки внутри ListBox, когда фокус находится на TextBox.

Когда пользователь нажимает «клавишу вниз» несколько раз, выбранный элемент становится последним видимым элементом на экране. Если пользователь достиг нижней части видимого элемента списка на экране, я хочу, чтобы он также видел следующий элемент после выбранного элемента.

1 Ответ

7 голосов
/ 12 мая 2009

Посмотрите на метод ScrollIntoView в списке. Вы можете использовать это, чтобы гарантировать, что следующий элемент к выбранному всегда будет видимым.

На стрелке вниз нажмите:

if (listbox.SelectedIndex < listbox.Items.Count - 1)
    listbox.ScrollIntoView(listbox.Items[listbox.SelectedIndex + 1]);

Нажмите стрелку вверх:

if (listbox.SelectedIndex > 0)
    listbox.ScrollIntoView(listbox.Items[listbox.SelectedIndex - 1]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...