Cómo evitar disparar ObservableCollection.CollectionChanged varias veces al reemplazar todos los elementos o agregar una colección de elementos

yo tengoObservableCollection<T> colección, y quiero reemplazar todos los elementos con una nueva colección de elementos, podría hacer:

collection.Clear(); 

O:

collection.ClearItems();

(BTW, ¿cuál es la diferencia entre estos dos métodos?)

También podría usarforeach acollection.Add Uno por uno, pero esto disparará varias veces.

Lo mismo cuando se agrega una colección de elementos.

EDITAR:

Encontré una buena biblioteca aquí:ObservableCollection mejorado con capacidad de retrasar o deshabilitar las notificaciones pero parece que NO soporta Silverlight.

Respuestas a la pregunta(5)

Su respuesta a la pregunta