问题以及解决------WPFDataGrid后台设置单元格背景色后,滑动滚动条背景色被还原

时间:2023-02-07 16:20:12

    问题:在后台由代码,根据条件实时给某些单元格的背景色或者说是样式赋新值,但是在滑动滚动条后,发现之前设定好的背景色或者样式,被还原成了刚生成界面的样子。


    解决方法:经过一番查找,个人觉得可以解决的方案有不少,一个是直接自定义模板(没有实践),另一个是利用IValueConverter,直接根据绑定的数据源变换,来动态改变(同样没有实践),大体就是这两种方法。

     但是,由于程序的一些客观原因,第二种我应用不上,第一种。。。。嫌麻烦,所以,就找到了另一种解决方案。首先,我们需要知道DataGrid的两个属性,EnableColumnVirtualizationEnableRowVirtualization,这两个属性默认为TRUE,它们的作用,就是当DataGrid需要显示的数据太大时,它会‘智能’的只加载要显示的数据出来,当你滑动滚动条时,再动态了加载对应的。

    而问题就出在这,我后台修改完背景色或者样式,然后滑动滚动条,就会让之前我改变了的东西被还原,这也是这个问题的根本,由于我应用的数据不大,所以,我干脆就将这两个属性赋为false,问题就解决了。