我在ScrollViewer-Element中使用Canvas-Element。 工作得很好,但我的问题是当一些对象被放置在画布之外时,我无法“滚动到它们”..
如果Canvas比较大,那么我可以滚动ScrollViewer,但是如果画布的边界外只有一些对象则不能滚动..
是否有增加可滚动区域的技巧?
感谢。
答案 0 :(得分:0)
默认情况下,范围大小(可滚动区域)是从滚动查看器的直接子项的大小派生的。当以这种方式计算范围大小时,增加它的唯一方法是增加孩子的大小,例如你的Canvas
。
有一种替代方法可以更好地控制ScrollViewer
,这是为了让子元素实现IScrollInfo
。 IScrollInfo
接口基本上可以控制滚动到您,包括视口大小和范围大小。但是,如果你走这条路线,你必须实现滚动的每个方面,包括响应滚动操作,如LineUp
,LineDown
,PageUp
,{{1这些都是通过PageDown
公开的,因此您不必担心处理输入事件 - 只需要逻辑命令。
如果您选择走这条路线,一些粗略的谷歌搜索显示至少有一些关于实施MouseWheelUp
的体面教程。