Как передать список <T> в ObservableCollection <T> в wpf?

Я нахожусь в wpf и имею общий список: List. Теперь я хочу передать его в общие наблюдаемые коллекции: ObservableCollection.

Я понимаю, что могу перебирать список и добавлять каждый отдельный элемент в коллекцию Observable. Тем не менее, мне кажется, что должен быть встроенный способ сделать это.

Ответ 1

Если вы просто хотите создать ObservableCollection из List, то все, что вам нужно сделать, это

ObservableCollection<MyType> obsCollection = new ObservableCollection<MyType>(myList);

Ответ 2

var _oc = new ObservableCollection<ObjectType>(_listObjects);

Ответ 3

вы можете сделать это, используя метод расширения

public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> coll)
{
    var c = new ObservableCollection<T>();
    foreach (var e in coll) c.Add(e);
    return c;
}

или вы можете использовать этот конструктор Элементы копируются в ObservableCollection в том же порядке, в котором они считываются перечислителем списка.

ObservableCollection<YourObject> collection = new ObservableCollection<YourObject>(yourList);

Ответ 4

ObservableCollection имеет Conttructor для IEnumerable<T> ObservableCollection

ObservableCollection<yourType> observable = 
        new ObservableCollection<yourType>(yourListObject);