与异步更新的类的数据绑定问题

时间:2009-08-19 07:41:47

标签: .net data-binding events

当我将BindingList<ProcessDataItem>绑定到ComboBox时,会抛出InvalidOperationException,说明枚举的集合已更改。 ProcessDataItem的实例在相应的测量值发生变化时会永久接收更新。该类实现INotifyPropertyChanged以通知其容器这些更改。这似乎导致了这个问题。 我很惊讶这个问题,因为收集仍然没有改变。没有添加或删除任何内容。只有价值变化。我该如何解决这个问题?

编辑: BindingList.ListChanged事件的文档说:

  

列表或列表中的项目发生更改时发生。

这似乎引起了我的问题。我是否必须创建一个自己的容器类,在枚举正在进行时抑制值更改事件?

1 个答案:

答案 0 :(得分:0)

我最终必须解决ProcessDataItem类中的同步问题,而不是容器级别。现在从GUI线程调用BindingList.ListChanged事件。 KeeperOfTheSoul对他的评论绝对正确。