正如我在虚拟化 ItemsControl 中学到的那样?, 我需要设置
ScrollViewer.CanContentScroll = "true"
能够在我的 ItemsControl 中虚拟化列表。然而,这会导致很多滚动问题,包括但不限于颠簸滚动和我展开的孩子的一部分在窗口底部被切断。我已经对此进行了广泛的搜索,似乎很多人都对此有疑问。但是,我还没有遇到任何解决方法。
有没有人可以解决这个问题?
正如我在虚拟化 ItemsControl 中学到的那样?, 我需要设置
ScrollViewer.CanContentScroll = "true"
能够在我的 ItemsControl 中虚拟化列表。然而,这会导致很多滚动问题,包括但不限于颠簸滚动和我展开的孩子的一部分在窗口底部被切断。我已经对此进行了广泛的搜索,似乎很多人都对此有疑问。但是,我还没有遇到任何解决方法。
有没有人可以解决这个问题?
没有简单或简单的解决方法;开箱VirtualizingStackPanel
即用就是它的本质,并且可能会有所限制。大多数解决方案都需要编写自定义虚拟化面板或虚拟化数据提供程序。这篇博文可能会帮助您找到适合您的解决方案:
您可以使用<ListView VirtualizingStackPanel.IsVirtualizing="False">
在列表视图中禁用堆栈面板的虚拟化。在这种情况下,可能存在无法启用虚拟化的限制,但您可以尝试手动启用它并查看它是否有效。
也许您可以保持 CanContentScroll = true 并使用其他技术阻止滚动。