读书人

继承DataGridBoundColumn做成Label列

发布时间: 2012-02-07 17:45:36 作者: rapoo

继承DataGridBoundColumn做成Label列,滚动后背景色消失或错位?
继承DataGridBoundColumn,在方法GenerateEditingElement返回Label, 在GenerateEditingElement方法处理中Label的背景色根据绑定数据的值设定。
如:绑定数据对象中有BackgourColor属性,当BackgroundColor=Red时, 返回Label的Backgroud设置为Red.
初始显示时,颜色设置和位置都没有问题。向下垂直滚动然后返回,单元格的背景色会消失,或者错移到同列的其他单元格上。

有什么办法解决?

[解决办法]
datagrid是数据虚拟化。机制和virtualizingstackpanel相似。它始终保持只渲染可视高度内最大正整数个datagridrow对象。而且这些行对象是重用的。所以会出现你的问题。
解决方法:在onloadingrow和unloadrow事件中做判断

读书人网 >CAD教程

热点推荐