我们目前有 DataGrid
绑定(bind)到 DataTable
.它还有一个带有 CheckBox
的模板列。在其中我们以编程方式添加。此列的目的是跟踪 DataGrid
中的多项选择。 .
工厂用于创建 CheckBox
es 为每一行。
记录不少,所以行虚拟化设置为true,这样性能可以接受。但是,我们看到一个奇怪的问题,如果我们检查一些 CheckBox
es 在前 10 行,然后向下滚动大约 50 行(网格在任何时候都有大约 10 行可见),还有一堆其他的 CheckBox
es 似乎是随机检查的。
如果我们禁用行虚拟化,则不存在此问题(但性能很糟糕)。有没有办法解决?有谁知道我们可能做错了什么?
最佳答案
如果您正在寻找速度 ListView Gridview 要快得多(并且功能更少)。
尝试禁用容器回收。
<tk:DataGrid x:Name="dataGrid"
ItemsSource="{Binding Path=Bookings}"
AutoGenerateColumns="False"
EnableRowVirtualization="True"
EnableColumnVirtualization="True"
VirtualizingStackPanel.VirtualizationMode="Standard"
VirtualizingStackPanel.IsVirtualizing="True">
关于wpf - DataGrid 行虚拟化显示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9949358/