【发布时间】:2011-02-27 23:40:05
【问题描述】:
我为我的 wpf 数据网格(红色边框画笔)创建了一个新的 DataGridCell 样式。当我垂直向下滚动时,选定的单元格会消失,这没关系。当我向上滚动时,我看到了选定的单元格,但其中很少有人丢失了它们的样式并且它出现在错误的单元格中。
看起来数据网格记住了选定的单元格,但“忘记了”它们的样式。
有什么想法吗?
哈姆
【问题讨论】:
我为我的 wpf 数据网格(红色边框画笔)创建了一个新的 DataGridCell 样式。当我垂直向下滚动时,选定的单元格会消失,这没关系。当我向上滚动时,我看到了选定的单元格,但其中很少有人丢失了它们的样式并且它出现在错误的单元格中。
看起来数据网格记住了选定的单元格,但“忘记了”它们的样式。
有什么想法吗?
哈姆
【问题讨论】:
没有更多细节,我只能猜测您遇到的工件是重复使用虚拟化单元的结果。您可以通过禁用列和行虚拟化来测试这一点:
<DataGrid EnableRowVirtualization="False" EnableColumnVirtualization="False" ...
另外,如果这没有帮助,您是否有机会覆盖数据项的 Equals 方法? ItemsControls 在显示几个相同的项目时偶尔会出现故障。
【讨论】: