我知道,DataGrid的支持虚拟化,所以只对可见的行创建网格单元。 然而,这似乎只有在数据网格的尺寸限制工作。
在我的情况下,一个DataGrid放置在滚动查看器中,像这样
<ScrollViever>
<StackPanel>
<more elements .../>
<DataGrid ... />
<more elements .../>
</StackPanel>
</ScrollViever>
这似乎打破虚拟化。 在DataGrid中应显示大量项目的情况下,可视树变得非常非常大的,即使在外部ScrollViewer中向下滚动之前。
有什么办法来防止数据网格从创建前的所有细胞,而不是让他们创建为ScrollViewer中被向下滚动?
编辑:基本上承载此页面应该像一些文字上方,一张大桌子,并在底部一些文字的网页。 取而代之的是dockview其中顶部/底部总是可见的,只是电网滚动,整个页面应该滚动。 设置达到这一点,但被预先创造了一切困扰。
第二个编辑:有没有一种方法来检测数据网格的特定行被滚动到视图? 典型的懒加载的文章使用DataGrid的 ScrollViewer中进一步的项目添加到网格中,这并不在这里工作。