c# - 选择行时出现 DataGrid 错误

标签 c# wpf mvvm datagrid itemssource

下面的问题解释起来并不简单。
我有一个包含 DataGrid 的窗口和窗口的 ViewModel。
window.DataContext 包含 ViewModel。
DataGrid.ItemSource 包含一个 ObservableCollection。
DataGrid 的 RowStyle 的 IsSelected 属性绑定(bind)到 PointData 中的 IsSelected 属性。

当我关闭窗口并打开一个新窗口时......并用旧的 ViewModel 数据填充它。
选择一个“旧”行会引发一个恼人的异常,上面写着:
“集合已修改;枚举操作可能无法执行”

如果有人有解决这种情况的想法,我会非常感谢您的帮助。
谢谢

最佳答案

通常,当您在使用 IEnumerable(枚举器)循环访问集合时修改集合时会发生此异常。关键字foreach使用这个接口(interface)。

关于c# - 选择行时出现 DataGrid 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5420245/

相关文章:

c# - 如何编写在 foreach 循环中设置属性值的方法(Silverlight 和 MVVM 相关)

c# - 将通用属性添加到对象而不必稍后强制转换它们?

c# - 我怎样才能连续 QueueUserWorkItems 而不是一次排队?

WPF:选择所有文本并将焦点设置到 ComboBox 的可编辑文本框

c# - slider 的值滞后于其拇指的当前位置

android - 无法从我的 fragment 中的 ViewModel 观察 LiveData<MutableList<T>>

python - 为什么 Python 的 UUID 构造函数会产生与 C# Guid 构造函数不同的结果?

c# - NHibernate 3.2 按代码 (Conformist) 字典属性的类映射

wpf - 如何使我的 WPF MainWindow 成为单例?

c# - 更改 .NET 4.5 WPF 功能区的主题