我有一个 DataGrid,其中每一行都包含一个 ItemsControl。因此,网格的行可以非常高。如果一行高于网格的高度,我将无法滚动查看该行的其余部分,因为 DataGrid 会自动滚动到下一行。也就是说,如果我正在查看第 1 行的上半部分并单击垂直滚动条的向下箭头,它会跳到第 2 行的顶部。它不会让我看到第 1 行的下半部分。我该如何制作DataGrid 平滑地滚动行而不是逐行步进?
最佳答案
听起来您想禁用虚拟化。要做到这一点,只需设置 CanContentScroll
至 False
为 ScrollViewer
.但是,如果您的 DataGrid
中有大量数据自从所有 DataGridRows
以来,如果您转向虚拟化,它会变得非常慢。将立即生成,而不是在用户实际可见时生成。
<DataGrid ...
ScrollViewer.CanContentScroll="False">
关于wpf - 防止 DataGrid 滚动吸附到行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11123521/