問題:
WPF的DataGrid中出現選取或者多選以及單選的時候,出現滾動條的時候,如果發生了滾動,默認情況下就會出現已經選擇的CheckBox錯亂。這樣的原因何在?
解決方案:
經過查閱資料,了解到WPF的DataGrid在默認情況下的數據綁定加載時動態加載的,只實例化屏幕內可見的數據;行頭的內容是通過綁定實現的,但是滾動刷新時傳入的DataGridRow並不是實際位置的行,而是虛擬的,造成行頭顯示內容錯亂;
最直接的解決方法就是EnableRowVirtualization ="False",但是考慮到系統開銷,如果數據多的情況下最好還是EnableRowVirtualization ="true"。然后數據采取分頁操作