所以,我最近进入了一个项目,他们使用标准的 .NET WPF DataGrid,使用 Grouping 在每个相应组下构建几个项目,滚动条的行为非常不寻常。
我注意到它似乎对元素的大小完全感到困惑。它不会通过元素的像素大小滚动——它会滚动到 Groupings 的大小,看起来像。我不知道项目后端是否存在隐式风格,但我想知道:
有没有办法让 WPF DataGrid 按总大小的像素滚动并保持该位置,而不是通过组与内容对齐?
您应该尝试ScrollViewer.CanContentScroll="False"
在 DataGrid 上进行设置。但是,请注意,这将禁用行虚拟化。
从 .NET 4.5 开始,您可以使用以下功能通过虚拟化进行良好的滚动,从而提高性能:EnableColumnVirtualization="True" VirtualizingPanel.VirtualizationMode="Recycling" EnableRowVirtualization="True"
VirtualizingPanel
有更有趣的属性要改变