我有一个DataGrid,在每一行中都包含一个ItemsControl。因此,网格的行可能非常高。如果一行高于网格的高度,则无法滚动以查看其余部分,因为DataGrid会自动滚动到下一行。也就是说,如果我正在查看第1行的上半部分,并单击垂直滚动条的向下箭头,则会跳转到第2行的顶部。它不允许我查看第1行的下半部分。如何使DataGrid平稳地滚动而不是逐行滚动?
看起来您想禁用虚拟化。要这样做,只需将ScrollViewer
的CanContentScroll
设置为False
即可。但是,如果您在DataGrid
中有很多数据,则在关闭虚拟化后,所有DataGridRows
将一次性生成,而不是当它们实际对用户可见时,这可能会导致速度变慢。
<DataGrid ...
ScrollViewer.CanContentScroll="False">
我遇到了一个问题,滚动会固定在行上。然后我发现了这个链接:https://dev59.com/S2Yr5IYBdhLWcg3wy9OA#13384164
<Datagrid ..
VirtualizingPanel.ScrollUnit="Pixel"