代码之家  ›  专栏  ›  技术社区  ›  juharr

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

  •  4
  • juharr  · 技术社区  · 16 年前

    我正在使用ScrollViewer显示图像。图像的一个ScaleTransform设置为其LayoutTransforms之一。我已经把它设置好,使图像的宽度与ScrollViewer的实际大小相适应。我的问题是,如果图像高度要求垂直滚动条存在(我将其设置为自动),那么我的图像只会被缩放一点点。我知道如何确定滚动条是否存在以及如何获得正确的比例,但我不知道如何确定滚动条的实际宽度。我想我可以只是猜测一下,但如果我以后在我的应用程序中添加样式,从而导致滚动条的大小不同,我希望它能起作用。此外,我还做了适合高度,需要得到水平滚动条的高度时,它将是可见的(我假设,得到垂直滚动条的宽度的答案将使获得水平滚动条的高度明显)。

    2 回复  |  直到 16 年前
        1
  •  13
  •   Hans Passant    16 年前
        2
  •  0
  •   juharr    16 年前

    在缩放计算中使用ViewableHeight和ViewableWidth而不是ActualHeight和ActualWidth,同时将滚动条可见性设置为Visible而不是Auto works。不过,我会接受另一个答案,允许滚动条设置为自动代替。

    编辑:

    好的,我现在把滚动条设置为可见。然后我用可视高度和可视宽度进行计算。然后我将滚动条设置回自动。这似乎是工作,即使它不是所有的优雅。