确定ScrollViewer中垂直滚动条的宽度。

6
我正在使用 ScrollViewer 来显示图片。这个图片设置了 ScaleTransform 作为它的 LayoutTransforms 之一。我已经将它设置成适应 ScrollViewer 的 ActualSize,以达到图片宽度和视窗同等大小的效果。但是如果图片高度需要垂直滚动条(我将其设置为自动出现),那么我的图片会被缩放得有点过多。我知道如何确定是否需要显示滚动条,以及如何获得正确的缩放比例,但我无法确定实际滚动条的宽度。我猜我可以随便猜一个值,但如果我后来添加了样式,导致滚动条的大小不同,那这个猜测就不可行了。另外,我还要按比例适应高度,并且当水平滚动条出现时需要获取它的高度(我假设获取垂直滚动条的宽度将明显地导致获取水平滚动条的高度)。
2个回答

13

0

在我的缩放计算中,使用ViewableHeight和ViewableWidth代替ActualHeight和ActualWidth,并将滚动条的可见性设置为Visible而非Auto是可行的。然而,如果有其他方法可以让滚动条自动适应,我也会接受其他答案。

编辑:

好的,现在我已经将滚动条设置为可见。然后,我使用ViewableHeight和ViewableWidth进行计算。最后,我再将滚动条设置回自动适应。尽管这不太优雅,但它似乎是有效的。


我认为这些属性实际上被称为ViewportHeight和ViewportWidth。 - Phil Jollans

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接