WPF中DataGrid垂直滚动条滚动后导致每行CheckBox选择错乱
问题:
WPF的DataGrid中出现选取或者多选以及单选的时候,出现滚动条的时候,如果发生了滚动,默认情况下就会出现已经选择的CheckBox错乱。这样的原因何在?
解决方案:
经过查阅资料,了解到WPF的DataGrid在默认情况下的数据绑定加载时动态加载的,只实例化屏幕内可见的数据;行头的内容是通过绑定实现的,但是滚动刷新时传入的DataGridRow并不是实际位置的行,而是虚拟的,造成行头显示内容错乱;
最直接的解决方法就是EnableRowVirtualization ="False",但是考虑到系统开销,如果数据多的情况下最好还是EnableRowVirtualization ="true"。然后数据采取分页操作