【问题标题】:How to increase scrollable area of an ScrollViewer?如何增加 ScrollViewer 的可滚动区域?
【发布时间】:2014-10-29 12:22:39
【问题描述】:

我在 ScrollViewer-Element 中使用 Canvas-Element。 工作得很好,但我的问题是当一些对象被放置在画布之外时,我不能“滚动到它们”..

如果 Canvas 更大,那么 ScrollViewer 我可以滚动,但如果只有一些对象超出了画布的范围,则不能滚动 ..

有什么技巧可以增加可滚动区域吗?

谢谢。

【问题讨论】:

    标签: c# wpf canvas scrollviewer


    【解决方案1】:

    默认情况下,extent 大小(可滚动区域)源自滚动查看器的直接子项的大小。当以这种方式计算范围大小时,增加它的唯一方法是增加孩子的大小,例如,您的Canvas

    还有另一种方法可以对ScrollViewer 进行更多控制,那就是让子元素实现IScrollInfoIScrollInfo 界面基本上可以让您控制滚动,包括视口大小和范围大小。但是,如果你走这条路,你必须实现滚动的各个方面,包括响应滚动操作,如LineUpLineDownPageUpPageDownMouseWheelUp 等. 这些都是通过IScrollInfo 暴露出来的,所以你不必担心处理输入事件——只需要处理逻辑命令。

    如果你选择走这条路,一些粗略的谷歌搜索至少显示了一些关于实现 IScrollInfo 的体面教程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      • 2014-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多