Відповіді:
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
)
Конструктор спостережуваної колекції візьме IList або IEnumerable.
Якщо ви виявите, що будете робити це багато, ви можете зробити простий метод розширення:
public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable)
{
return new ObservableCollection<T>(enumerable);
}