3

好的,我有以下问题:

我想上下滚动一个溢出的 ListBox。

我想在从 ListBox 继承的自定义控件中以编程方式进行。我已经看到并测试了诸如scrollIntoView. 但是,我希望滚动类似于使用鼠标滚轮时的滚动。

我根本不想让鼠标参与(我正在为 Kinect 开发,因为有 2 个光标,我不想使用鼠标事件参数)

谷歌搜索并没有出现太多:我已经阅读了大量关于如何使用 scrollIntoView 滚动代码或放置滚动条等的线程。

4

1 回答 1

3

我认为这将涉及两个步骤:

  1. 在 listBox 模板中找到 scrollViewer 控件
  2. 在该 scrollViewer 中执行实际滚动

对于第一步实施,请看这里。这是从那里提取的代码片段:

this.Loaded += MainWindow_Loaded;

void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
    var scrollViewer = listbox.Template.FindName("Scroller", listbox);
}

对于第二步,您应该使用此处的方法之一,LineDown或者PageDown可能。

PS:我根本没有测试过这种方法,因为我没有安装 VS,所以请随时在此处添加所需的代码。

于 2012-06-21T12:00:21.993 回答