滚动时WPF数据表格单元格样式出现问题

8

我为我的wpf datagrid创建了一个新的DataGridCell样式(红色边框刷)。当我垂直向下滚动时,选择的单元格会消失,这是可以接受的。但是当我向上滚动时,我看到选择的单元格,但其中一些缺少样式,出现在错误的单元格中。

看起来数据网格记住了选择的单元格,但“忘记”了它们的样式。

有什么想法吗?

haim

1个回答

13

没有更多的细节,我只能猜测你所经历的伪影是由于重用虚拟化单元格造成的。您可以通过禁用列和行虚拟化来进行测试:

<DataGrid EnableRowVirtualization="False" EnableColumnVirtualization="False" ...

此外,如果这并没有帮助您,您是否曾经重写了数据项的Equals方法?当ItemsControl显示多个相等的项时,它们有时会出现故障。


感谢您回复我。 <DataGrid EnableRowVirtualization="False" EnableColumnVirtualization="False" ... 对我来说已经足够了,因为我的DataGrid不是很大(最多约40行)。 我正在查看WPFToolkit的代码,以找出他们如何在回收/虚拟化时同步选择样式,以便我的网格支持虚拟化。祝一切顺利。H :-) - havivh78

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接