添加将替换listView中的滚动的按钮

时间:2010-11-24 13:21:37

标签: wpf wpf-controls

我想写一些包含2个按钮和listView的控件。 按下按钮1将向上滚动列表视图。 按下按钮2将向下滚动列表视图。

列表视图的直接滚动将不可用 - (将不可见?)。

  1. 我没有找到listview方法'向上滚动'/'向下滚动',我可以调用按钮事件。

  2. 如何使listview滚动始终可见?

  3. 有人可以帮我吗?

    感谢。

1 个答案:

答案 0 :(得分:1)

这里有两个选项,一个比另一个容易。

第一个选项(更简单,但有点hacky):使用VisualTreeHelper,在ListView的ControlTemplate中获取对ScrollViewer的引用。然后,您可以使用LineUp和LineDown方法上下滚动内容,使用静态SetVerticalScrollBarVisibility方法隐藏滚动条。我个人不会使用这种方法,因为我不喜欢依赖可以改变的Visual Tree。

第二个选项(有点困难,但如果你知道怎么做也不会太糟糕):为ListView编写一个新的控件模板(可能需要改变它的ScrollViewer + ScrollBar的模板),添加两个调用ScrollBar的按钮.LineUpCommand和ScrollBar.LineDownCommand。如果你想这样做,我建议你获取ShowMeTheTemplate的副本,然后你就可以复制并粘贴原件并进行修改。

希望这有助于指明你正确的方向。