如何增加ScrollViewer的可滚动区域

本文关键字:滚动 区域 ScrollViewer 何增加 增加 | 更新日期: 2023-09-27 18:28:19

我正在ScrollViewer元素中使用Canvas元素。工作得很好,但我的问题是,当一些对象被放置在画布之外时,我无法"滚动到它们"。。

如果画布比ScrollViewer大,我可以滚动,但如果画布上只有一些超出边界的对象,就不能滚动。。

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

谢谢。

如何增加ScrollViewer的可滚动区域

默认情况下,范围大小(可滚动区域)源自滚动查看器的直接子对象的大小。以这种方式计算数据块大小时,增加数据块大小的唯一方法是增加子级的大小,例如Canvas

有一种替代方法可以对ScrollViewer进行更多控制,那就是让子元素实现IScrollInfoIScrollInfo界面基本上为您提供滚动控制,包括视口大小和范围大小。但是,如果采用这种方式,则必须实现滚动的各个方面,包括响应LineUpLineDownPageUpPageDownMouseWheelUp等滚动操作。这些都是通过IScrollInfo公开的,因此您不必担心处理输入事件,只需担心逻辑命令。

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