【问题标题】:WPF control to show snippet of a list that auto-scrolls to center on an itemWPF 控件显示自动滚动到项目中心的列表片段
【发布时间】:2012-12-12 23:02:38
【问题描述】:

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

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

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

1
2
3
4
5

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

2
3
4
5
6

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

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

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

    这是一个类似的问题,使用 MVVM 模式:mvvm how to make a list view auto scroll to a new Item in a list view

    【讨论】:

    • 我假设 'BringIntoView' 方法不会进行逐像素滚动动画,而只是立即更改显示区域。我错了吗?
    • 正确,忘记了动画。
    猜你喜欢
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多