Nih*_*jan 3 wpf listview scrollbar
我有一个用 ListViewItems 显式填充(无绑定)的 ListView。大多数项目需要可见,其他项目应保持折叠状态。所有物品的高度相同。
问题是如果我有 100 个项目并且前 60 个可见并且底部 40 个处于折叠状态,则滚动条的高度基于所有 100 个项目都处于可见状态并且滚动条的高度变得小于什么的假设它应该是。但是当我向下滚动到 60 时,它意识到其余 40 处于折叠状态,因此增加了滚动条的高度以使其适合列表视图中的 60 项。
我最初认为这可能是因为虚拟化。但是我没有任何数据绑定到列表视图。我还尝试将需要处于折叠状态的项目的高度设置为 0,这没有给我想要的结果。
我需要的是,如果有 60 个可见的项目和 40 个折叠的项目,那么滚动条的高度应该仅基于列表视图中的 60 个项目并且应该保持不变。有可能实现吗?
我遇到了完全相同的问题,答案可以在这里找到:Listbox scrollbar thumb changes size when content is variable height
很快,添加ScrollViewer.CanContentScroll="False"ListBox 并且无论折叠项目的数量如何,滚动条都将具有恒定的高度。
顺便说一句,我知道这个问题已经有将近 2 年的历史了,但是我想将其留作将来参考。