您不能绑定到 WPF DataGrid'sColumns 属性,因此解决方法是使用在此 SO question/answer中找到的附加属性。我的视图模型公开了一个ObservableCollection包含 的DataGridColumns,我DataGrid通过这个附加属性将它绑定到 。
后台线程负责填充集合,我正在使用Dispatcher.Invoke它来执行此操作,我认为这可以避免线程问题。后台线程本身工作正常,但在上面附加的属性代码中引发了异常:
调用线程无法访问此对象,因为不同的线程拥有它。
(在else if处理 Add 动作的地方,特别是 line dataGrid.Columns.Add(column);)。
知道可能出了什么问题吗?