C# WPF DataGrid,启用行虚拟化会导致丢失所选行,禁用它会使速度太慢

C# WPF DataGrid,启用行虚拟化会导致丢失所选行,禁用它会使速度太慢,c#,wpf,datagrid,virtualization,C#,Wpf,Datagrid,Virtualization,我有一个WPF数据网格,大约有1000行。WPF数据网格的形式是作为插件托管在其他一些软件中 目标:是至少在一定程度上提高性能 问题:使用VirtualizationMode=“Standard”或VirtualizationMode=“Recycling”启用行可视化会导致在滚动时丢失所选行(缺陷有时很微妙,我需要滚动多次才能看到错误),禁用它会使速度太慢 到目前为止已经尝试过的内容: 我试着用附件来处理选择性 行为。我成功地使用 LeftMouseClickattached behavio

我有一个WPF数据网格,大约有1000行。WPF数据网格的形式是作为插件托管在其他一些软件中

目标:是至少在一定程度上提高性能

问题:使用
VirtualizationMode=“Standard”
VirtualizationMode=“Recycling”
启用行可视化会导致在滚动时丢失所选行(缺陷有时很微妙,我需要滚动多次才能看到错误),禁用它会使速度太慢

到目前为止已经尝试过的内容:

  • 我试着用附件来处理选择性 行为。我成功地使用
    LeftMouseClick
    attached behavior和
    DataTrigger
    更改 颜色,但我的方案是使用Ctrl和 轮班。因此,我不知道如何在中选择/取消选择多行 那个案子
  • 我也试图实现这一点(丹尼斯·莫罗佐夫的回答) 但我真的不太明白

你能发一封邮件吗?我知道这个错误很微妙,不确定,但仍然存在。现在我用一个非常小的反模式技巧修复了它(我没有太多时间考虑最佳解决方案)。我为网格添加了一个SelectionChanged偶数处理程序,用于将新的和旧的选择发送到ViewModel以更新所选行。