BindingOperations.EnableCollectionSynchronization Method (IEnumerable, Object, CollectionSynchronizationCallback)
Enables a collection to be accessed across multiple threads and specifies the callback that should be used to synchronize access to the collection.
Assembly: PresentationFramework (in PresentationFramework.dll)
public static void EnableCollectionSynchronization( IEnumerable collection, Object context, CollectionSynchronizationCallback synchronizationCallback )
- Type: System.Collections.IEnumerable
The collection that needs synchronized access.
- Type: System.Object
An object that is passed to the callback.
- Type: System.Windows.Data.CollectionSynchronizationCallback
The callback that is invoked whenever access to the collection is required.
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. This overload of the method enables you to specify a callback that ensures that the collection is accessed by one thread at a time. You can have the system lock the collection by calling the EnableCollectionSynchronization(IEnumerable, Object) overload. The context parameter is an arbitrary object that you can use to information known when you enable collection synchronization. This is passed to the callback and you can use it to determine the synchronization mechanism to use to control access to collection. Context can be null.