选择行时 DataGrid 出错
下面这个问题就不太容易解释了。 我有一个窗口,其中包含一个 DataGrid 和一个窗口的 ViewModel。 window.DataContext 保存 ViewModel。 DataGrid.ItemSource 包含一个 ObservableCollection。 DataGrid 的 RowStyle 的 IsSelected 属性绑定到 PointData 中的 IsSelected 属性。
当我关闭窗口并打开一个新窗口时...并用旧的 ViewModel 数据填充它。 选择“旧”行会引发一个恼人的异常,其中显示: “集合已修改;枚举操作可能无法执行”
如果有人有解决这种情况的想法,我将非常感谢您的帮助。 谢谢
The following problem is not simple to explain.
I have a Window which contains a DataGrid, and a ViewModel for the window.
The window.DataContext holds the ViewModel.
the DataGrid.ItemSource holds an ObservableCollection.
DataGrid's RowStyle's IsSelected Property is Binded to an IsSelected property in the PointData.
When I close the window and open a new one... and populate it with the old ViewModel data.
Selecting an "old" row throws an annoying Exception which says:
"Collection was modified; enumeration operation may not execute"
If anyone has an idea of solving this situation I would truely appreaciate the help.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通常,当您在使用 IEnumerable(枚举器)循环访问集合时修改集合时,会发生此异常。关键字
foreach
使用此接口。Normally this exception occurs when you modify a collection while using IEnumerable (an Enumerator) to loop through the collection. The keyword
foreach
uses this interface.