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

时间:2010-05-05 23:10:08

标签: c# wpf scrollviewer

我正在使用ScrollViewer来显示图像。 Image将ScaleTransform设置为LayoutTransforms之一。我已经设置好将图像的宽度调整到ScrollViewer的ActualSize中。我的问题是,如果图像高度需要存在垂直滚动条(我将其设置为自动),那么我的图像只会缩小一点点。我知道如何确定滚动条是否存在以及如何获得正确的比例,但我无法弄清楚如何确定滚动条的实际宽度。我想我可以猜它,但是如果我稍后在我的应用程序中添加样式会导致滚动条的大小不同,我想要一些可行的东西。另外,我也正在做适合高度,并且当它可见时需要获得水平滚动条的高度(我假设获得垂直滚动条的宽度的答案将使得获得水平滚动条的高度明显)。

2 个答案:

答案 0 :(得分:11)

您可以使用SystemParameters.ScrollWidth

答案 1 :(得分:0)

在我的缩放计算中使用ViewableHeight和ViewableWidth而不是ActualHeight和ActualWidth,同时设置滚动条Visibility to Visible而不是Auto工作。但是我会接受另一个答案,允许将滚动条设置为Auto。

修改

好的,我现在已将滚动条设置为Visible。然后我使用ViewableHeight和ViewableWidth进行计算。然后我将滚动条设置回Auto。即使不是那么优雅,这似乎也有效。