奇怪的项目“跳跃”由WPF DataGrid滚动

本文关键字:WPF DataGrid 滚动 跳跃 项目 | 更新日期: 2023-09-27 18:34:41

>我使用 WPF DataGrid,并将 ScrollViewer.CanContentScroll 属性设置为"True"。

项目

只是在我的项目列表的开头和结尾之间"跳跃"。

例如,当我滚动到末尾时,第一项可能会意外地出现在列表的末尾。当我滚动到列表的开头时,它也出现在开头。顺便说一句,我看不到最后一项,因为第一项出现而不是最后一项。

但是,始终可见的项目不会更改其在列表中的顺序。

我尝试将属性 ScrollViewer.CanContentScroll 设置为"False",效果很好,但是当我在 DataGrid 上显示大项目列表时,它会降低性能。将属性 EnableRowVirtualization 设置为"False"会产生相同的行为。

有什么解决方案吗?

谢谢。尼古拉。

奇怪的项目“跳跃”由WPF DataGrid滚动

我终于找到了解决方案。我将这些属性添加到我的 DataGrid 中,它解决了我的问题。

EnableRowVirtualization="True" 
EnableColumnVirtualization="True"
VirtualizingStackPanel.VirtualizationMode="Standard"
VirtualizingStackPanel.IsVirtualizing="True"