Export (0) Print
Expand All

BindingOperations.EnableCollectionSynchronization Method (IEnumerable, Object, CollectionSynchronizationCallback)

.NET Framework 4.5

Enables a collection to be accessed across multiple threads and specifies the callback that should be used to synchronize access to the collection.

Namespace:  System.Windows.Data
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 EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback) 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.

.NET Framework

Supported in: 4.5

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

© 2014 Microsoft