我想写一些包含2个按钮和listView的控件。 按下按钮1将向上滚动列表视图。 按下按钮2将向下滚动列表视图。
列表视图的直接滚动将不可用 - (将不可见?)。
我没有找到listview方法'向上滚动'/'向下滚动',我可以调用按钮事件。
如何使listview滚动始终可见?
有人可以帮我吗?
感谢。
答案 0 :(得分:1)
这里有两个选项,一个比另一个容易。
第一个选项(更简单,但有点hacky):使用VisualTreeHelper,在ListView的ControlTemplate中获取对ScrollViewer的引用。然后,您可以使用LineUp和LineDown方法上下滚动内容,使用静态SetVerticalScrollBarVisibility方法隐藏滚动条。我个人不会使用这种方法,因为我不喜欢依赖可以改变的Visual Tree。
第二个选项(有点困难,但如果你知道怎么做也不会太糟糕):为ListView编写一个新的控件模板(可能需要改变它的ScrollViewer + ScrollBar的模板),添加两个调用ScrollBar的按钮.LineUpCommand和ScrollBar.LineDownCommand。如果你想这样做,我建议你获取ShowMeTheTemplate的副本,然后你就可以复制并粘贴原件并进行修改。
希望这有助于指明你正确的方向。