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

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

您可以使用SystemParameters.ScrollWidth 。

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

编辑:

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