4

我是 WPF 新手,ScrollViewer 让我很沮丧。要么我只是不“明白”它,要么它是一个有限的控制。

以下是我的挫败感:

  1. Bad Horizo​​ntal Scrolling水平滚动条只在列表底部可见(我必须滚动到底部才能看到)

  2. 坏边框我的 ScrollViewer 中有一个 ListBox。当我开始列表底部没有边框并且向下滚动时,列表框的顶部边框(行)消失了。我可以理解这一点,但是尝试为 ScrollViewer 设置 BorderThickness 或 BorderBrush 不会导致任何变化(我想使用 ScrollViewer 的边框在列表内容周围保持一个恒定的框,就像网络世界中的大多数列表框一样)。

  3. 短列表的错误处理当列表中的项目没有到达底部时,ScrollViewer 将滚动条保留在那里,只是将其抖动出来。为什么不释放一些空间并将其删除?

其中一些可能看起来很琐碎(而且确实如此)。但是用户期望他们的应用程序具有一定的外观和感觉,而 WPF 很难做到开箱即用。

如果您知道解决任何这些问题的方法,我会很乐意回应。如果有比使用 ScrollViewer 更好的方法来处理滚动,那也是受欢迎的。

4

1 回答 1

11
  1. 也许您从列表中看到了一些滚动条,而不是 ScrollViewer 中的滚动条?尝试设置<ScrollViewer ... HorizontalScrollBarVisibility="Auto">(默认为Hidden,这意味着永远不会显示水平滚动条;也可以尝试“可见”以进行调试)

  2. <Border>在 ScrollViewer 周围放置一个选项吗?

  3. VerticalScrollBarVisibility有一个默认值Visible。如果您希望滚动条在不需要时消失,请尝试<ScrollViewer ... VerticalScrollBarVisibility="Auto">.

于 2009-12-02T22:52:01.603 回答