Эффективное добавление диапазона значений в ObservableCollection

У меня есть ObservableCollection элементов, привязанных к элементу управления списком в моем представлении.

У меня есть ситуация, когда мне нужно добавить порцию значений в начало коллекции. Документация Collection .Insert определяет каждую вставку как операцию O (n), и каждая вставка также генерирует уведомление CollectionChanged .

Поэтому в идеале я хотел бы вставить весь диапазон элементов за один ход, имея в виду только одну перетасовку базового списка и, надеюсь, одно уведомление CollectionChanged (предположительно «сброс»).

Коллекция не предоставляет никаких методов для этого. List имеет InsertRange () , но IList , который Collection предоставляет через его Items - нет.

Есть ли вообще способ сделать это?

28
задан GazTheDestroyer 22 December 2011 в 16:38
поделиться