WPF ListBox SelectedItem иногда не виден (прокрутка не синхронизирована) - PullRequest
8 голосов
/ 31 марта 2009

У меня есть список, заполненный 30 000 элементов

<ListBox Name="lbWordlist" 
             Grid.Row="1" Margin="10"
             ItemsSource="{Binding Source={StaticResource WordListViewSource}}" 
             SelectedItem="{Binding Source={StaticResource MainViewModel}, Path=SelectedArticle}"
             IsSynchronizedWithCurrentItem="True"
             SelectionChanged="lbWordlist_SelectionChanged" />

Я отслеживаю историю кликов пользователей

У меня 2 кнопки Пред. и затем эти кнопки позволяют пользователю возвращаться в историю назад и вперед.

Пред. и кнопка «Далее» изменяет свойство SelectedItem объекта ListBox

Проблема возникает, если пользователь выбирает случайные элементы из ListBox, которые очень сильно отличаются друг от друга (например, пользователь выбирает некоторые элементы в верхней части списка и несколько элементов в нижней части списка).

Пред. и кнопка «Далее» изменяет свойство SelectedItem, но ListBox не синхронизируется с прокруткой, выделенный элемент не выделяется и большую часть времени не виден пользователю, поскольку находится вне области видимых элементов ListBox.

Есть ли способ, чтобы ListBox правильно отображал выбранный элемент?

Спасибо.

1 Ответ

23 голосов
/ 31 марта 2009
_listBox.ScrollIntoView(_listBox.SelectedItem);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...