BindingOperations.EnableCollectionSynchronization Method (IEnumerable, Object)
Enables a collection to be accessed across multiple threads and specifies the lock object that should be used to synchronize access to the collection.
Assembly: PresentationFramework (in PresentationFramework.dll)
If you have a lot of data to collect or modify, you might want to use a background thread to collect and modify the data so that the user interface will remain reactive to input. To enable multiple threads to access a collection, call the EnableCollectionSynchronization method. When you call this overload of the method, the system locks the collection when you access it. To specify a callback to lock the collection yourself, call the EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback) overload.