WPF 控件,用于显示自动滚动以居中以项为中心的列表片段



在我的模型中,我有一个近乎无限的项目列表。假设这些项目是 -9999, ..., 0,+1,+2,+3, ...., +9999,项目之间的增量为 1。

我想显示一个包含 5 个项目的列表,以"感兴趣的项目"为中心。"感兴趣的项目"在任何时候都会一次更改 1 个,无论是向上还是向下。当它发生变化时,我希望控件逐像素"滚动"进行动画处理,直到它以感兴趣的新项目为中心。用户无法滚动,因此列表始终以"感兴趣的项目"为中心。

假设感兴趣的项目是 3,则显示的列表应如下所示:

1
2
3
4
5

现在感兴趣的项目更改为 4,因此在滚动动画之后,显示的列表应如下所示:

2
3
4
5
6

我正在使用 c# 和 WPF。是否有现有的控件可以做到这一点,开源或商业?

假设每个项都位于控件中,则可以调用 BringIntoView 方法,该方法将使包含的 ScrollViewer 滚动到所需的项。

这是一个类似的问题,使用 MVVM 模式: mvvm 如何使列表视图自动滚动到列表视图中的新项目

最新更新