如何使绑定到WPF控件线程的Object安全

时间:2011-10-03 14:27:00

标签: c# wpf multithreading

我有一个Observable集合对象,其值从我的代码更新。此集合绑定到数据网格的两个方向。现在,这个集合线程是否安全 - 即如果我尝试从代码中修改集合的值,同时用户尝试修改它(作为编辑数据网格的结果),程序是否会抛出例外?如果是的话,请您解释一下如何避免这种情况?

...谢谢

1 个答案:

答案 0 :(得分:1)

这看起来像重复herehere,但简短的回答是,如果您正在修改某个属性,那么您就是安全的。

当您正在使用集合时,如果您尝试在多个线程而不仅仅是UI线程上修改ObservableCollection,则需要执行更多操作。这已经涵盖了很多,您可以通过this linkthis one

查看

但是,如果您在UI线程中进行修改,那么您就是安全的,因为这是ObservableCollection的目的。只要您通过Dispatcher.BeginInvoke()正确封送,就会在UI上创建和处理事件。