【问题标题】:Determine the width of the vertical scroll bar in a ScrollViewer确定 ScrollViewer 中垂直滚动条的宽度
【发布时间】:2010-05-05 23:10:08
【问题描述】:

我正在使用 ScrollViewer 来显示图像。 Image 有一个 ScaleTransform 设置为它的 LayoutTransforms 之一。我已将其设置为使图像的宽度适合 ScrollViewer 的 ActualSize。我的问题是,如果图像高度需要存在垂直滚动条(我将其设置为自动),那么我的图像会被放大一点点。我知道如何确定滚动条是否存在以及如何获得正确的比例,但我不知道如何确定滚动条的实际宽度是多少。我想我可以猜测一下,但如果我以后向我的应用程序添加样式,这会导致滚动条的大小不同,我想要一些可以工作的东西。另外,我也在做适合高度,并且需要在水平滚动条可见时获取它的高度(我假设获取垂直滚动条宽度的答案将获取水平滚动条的高度很明显)。

【问题讨论】:

    标签: c# wpf scrollviewer


    【解决方案1】:

    您可以使用SystemParameters.ScrollWidth

    【讨论】:

      【解决方案2】:

      在我的缩放计算中使用 ViewableHeight 和 ViewableWidth 而不是 ActualHeight 和 ActualWidth 以及将滚动条 Visibility 设置为 Visible 而不是 Auto 有效。但是我会接受另一个答案,它允许将滚动条设置为自动。

      编辑:

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

      【讨论】:

      • 我觉得属性其实叫ViewportHeight和ViewportWidth。
      猜你喜欢
      • 1970-01-01
      • 2012-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多