我试图在我的WPF应用程序中实现加载图标(通过线程),但在我尝试将项目添加到observable集合时,遇到了Null Reference异常。我遵循以下建议,但它不起作用: How to make ObservableCollection thread-safe?
简而言之:
这有效:
private void Refresh() {
MTObservableCollection <someObject> someTable = new MTObservableCollection<someObject>();
someTable.Add(new someObject());
...
}
这不起作用:
private void Refresh()
{
Task.Factory.StartNew(()=> {
MTObservableCollection <someObject> someTable = new MTObservableCollection<someObject>();
someTable.Add(new someObject()); //this line throws null reference for someTable;
});
...
}
我使用Task.Factory的原因是因为我想在发生这种情况时插入加载图标。
答案 0 :(得分:1)
不要使用MTObservableCollection。而是使用BindingOperations.EnableCollectionSynchronization。