我有一个实现 INotifyPropertyChanged 的自定义对象。我有这些对象的集合,其中集合基于 BindingList 我已经为集合创建了绑定源,并设置了 bindingsource 和 datagridview 的数据源。
一切都很好,除了我需要从后台线程更新自定义对象的属性。当我这样做时,我收到以下错误:
BindingSource 不能是它自己的数据源。不要将 DataSource 和 DataMember 属性设置为引用回 BindingSource 的值
我发现以下帖子似乎有我的确切问题(和解决方案?),但我无法弄清楚。
我在我的业务对象中创建并初始化每个帖子的操作变量,然后我将两个事件函数放入我的集合类中。这编译正确,但运行时无异常挂起。
我看到很多帖子说要使用 Invoke/Begin Invoke,但我没有在 UI 上调用任何函数,只是更新业务对象,所以我不确定将调用调用放在哪里。
一个限制:我希望业务对象不知道谁在显示它(因为有多个消费者),因此将 GUI 引用发送到业务对象以便我以后能够使用这些引用调用调用不是一种选择。