使用多选时,WPF DataGrid列损坏

全部,我正在根据DataGrid选择的行数更新StatusBar 。 我是用MVVM做的。 相关的XAML如下

             

使用StatusBar定义

      

我包含此代码,以便您可以看到我在DataGrid上设置的选项; 正如我所说,function[在使用鼠标选择行时,所选行数在StatusBarTextBlock更新]正在运行。 有关我用于执行此操作的基本机制的更多信息,请参阅https://stackoverflow.com/a/2615487/626442 。

现在,当我选择很多项目时,我注意到第一列[称为“代码”]未正确显示/呈现(如图所示,其中一半被裁剪掉)。

显示错误

我已经设置了EnableRowVirtualization="False"否则它只是平面不起作用,但为什么现在我的第一列无法正确渲染,如何使其正确渲染?

谢谢你的时间。


注意。 我试图设置EnableColumnVirtualization="False"但这看起来更糟!? 我还设置了EnableColumnVirtualization="True"EnableRowVirtualization="True" ,这极大地提高了性能并消除了渲染问题。 但是,这会打破StatusBar更新,它会在视图滚动时立即停止。

看看http://grokys.blogspot.fr/2012/02/mvvm-and-multiple-selection-part-iv.html这应该解决你的问题,让你的代码“更干净”