Ответы:
ObservableCollection <T> имеет перегрузку конструктора, которая принимает IEnumerable <T>
Пример для списка int
:
ObservableCollection<int> myCollection = new ObservableCollection<int>(myList);
Еще один пример для списка ObjectA
:
ObservableCollection<ObjectA> myCollection = new ObservableCollection<ObjectA>(myList as List<ObjectA>);
У ObervableCollection есть конструктор, в котором вы можете передать свой список. Цитата из MSDN :
public ObservableCollection(
List<T> list
)
Конструктор Observable Collection примет IList или IEnumerable.
Если вы обнаружите, что собираетесь делать это много раз, вы можете создать простой метод расширения:
public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable)
{
return new ObservableCollection<T>(enumerable);
}