2011-03-24 43 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