WPF ListBox选定项有时不可见(滚动不同步)

8

我有一个ListBox,其中填充了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" />

我正在追踪用户点击项目的历史记录。

我有两个按钮“上一个”和“下一个”,这些按钮允许用户在历史记录中前进和后退。

“上一个”和“下一个”按钮修改ListBox的SelectedItem属性。

问题出现了,如果用户从ListBox中选择相距很远的随机项(例如用户在列表顶部选择了一些项目,在列表底部选择了几个项目)。

“上一个”和“下一个”按钮会更改SelectedItem属性,但是ListBox与滚动不同步,所选项目未高亮显示,大多数情况下对用户不可见,因为它位于ListBox的可见项目区域之外。

有没有办法使ListBox正确显示当前选定的项目?

谢谢。

1个回答

23
_listBox.ScrollIntoView(_listBox.SelectedItem);

不客气。如果我的回答解决了你的问题,你可以勾选旁边的方框将其标记为答案。 - Kent Boogaart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接