2011-03-24 40 views
0

以下问题不容易解释。 我有一个窗口,其中包含一个DataGrid和窗口的ViewModel。 window.DataContext保存ViewModel。 DataGrid.ItemSource包含一个ObservableCollection。 DataGrid的RowStyle的IsSelected属性绑定到PointData中的IsSelected属性。DataGrid选择一行时出错

当我关闭窗口并打开一个新窗口...并使用旧的ViewModel数据填充窗口。 选择一个“老”行抛出一个令人讨厌的异常它说: “集合已修改;枚举操作可能不会执行”

如果任何人有解决这个情况下,我会忠实地内心的感谢各位的帮助的想法。 谢谢

+0

如果您将xaml与datagrid以及您绑定的视图模型的至少一部分一起发布,会有所帮助。 – hyp 2011-03-24 14:16:23

回答

1

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

+0

是的,我知道,但我找不到它被修改的地方。 – 2011-03-24 14:50:28

+0

它发生在(IsSelected)绑定的地方 – 2011-03-24 14:51:25

+0

或在表单的构建/打开中。真的,没有代码我们不能帮助。 – 2011-03-24 14:56:54