我是WPF的新手,ScrollViewer令我很沮丧。要么我只是“得到”它,要么它是一个有限的控制。
以下是我的挫折:
水平滚动错误水平滚动条仅显示在列表底部(我必须滚动到底部才能看到它)
Bad Borders 我的ScrollViewer中有一个ListBox。当我开始列表的底部没有边框时,当我向下滚动时,列表框的顶部边框(行)消失。我可以理解这一点,但尝试为ScrollViewer设置BorderThickness或BorderBrush结果没有变化(我想使用ScrollViewer的边框在列表内容周围保留一个常量框,就像网络世界中的大多数列表框一样)。 / p>
错误处理短列表当列表中的项目未到达底部时,ScrollViewer会将滚动条保留在那里并将其抖动。为什么不释放一些空间并将其删除?
其中一些可能看起来很小(而且它们是)。但是用户期望从他们的应用程序中获得一定的外观和感觉,WPF很难将其开箱即用。
如果你知道如何解决这些问题,我会很乐意回应。如果有一个更好的方法来处理滚动比使用ScrollViewer,欢迎。
答案 0 :(得分:11)
也许您从列表中看到了一些滚动条而不是ScrollViewer中的滚动条?尝试设置<ScrollViewer ... HorizontalScrollBarVisibility="Auto">
(默认为Hidden
,这意味着不会显示任何水平滚动条;为了调试也尝试“可见”)
在ScrollViewer周围添加<Border>
是一个选项吗?
VerticalScrollBarVisibility
的默认值为Visible
。如果您希望滚动条在不需要时消失,请尝试<ScrollViewer ... VerticalScrollBarVisibility="Auto">
。