Why isn't it possible to update an ObservableCollection from a different thread?
Posted
by MainMa
on Stack Overflow
See other posts from Stack Overflow
or by MainMa
Published on 2010-06-05T14:04:09Z
Indexed on
2010/06/05
14:12 UTC
Read the original article
Hit count: 192
In a multi-threaded WPF application, it is not possible to update an ObservableCollection
from a thread other than WPF window thread.
I know there are workarounds, so my question is not how to avoid the "This type of CollectionView does not support changes to its SourceCollection from a thread different from the Dispatcher thread" exception.
My question is, why there is such an exception? Why wasn't it possible to allow collection updates from any thread?
Personally, I don't see any reason to block UI update when ObservableCollection
is changed from other threads. If two threads (including parallel ones) are accessing the same object, one listening for changes of object properties through events, the other one doing changes, it will always work, at least if locks are used properly. So, what are the reasons?
© Stack Overflow or respective owner