我为我的wpf datagrid创建了一个新的DataGridCell样式(红色边框刷)。当我垂直向下滚动时,选择的单元格会消失,这是可以接受的。但是当我向上滚动时,我看到选择的单元格,但其中一些缺少样式,出现在错误的单元格中。
看起来数据网格记住了选择的单元格,但“忘记”了它们的样式。
有什么想法吗?
haim
没有更多的细节,我只能猜测你所经历的伪影是由于重用虚拟化单元格造成的。您可以通过禁用列和行虚拟化来进行测试:
<DataGrid EnableRowVirtualization="False" EnableColumnVirtualization="False" ...
此外,如果这并没有帮助您,您是否曾经重写了数据项的Equals
方法?当ItemsControl显示多个相等的项时,它们有时会出现故障。