Odpowiedzi:
ObservableCollection <T> ma przeciążenie konstruktora, które pobiera IEnumerable <T>
Przykład listy int
:
ObservableCollection<int> myCollection = new ObservableCollection<int>(myList);
Jeszcze jeden przykład dla listy ObjectA
:
ObservableCollection<ObjectA> myCollection = new ObservableCollection<ObjectA>(myList as List<ObjectA>);
ObervableCollection ma konstruktora, w którym możesz przekazać swoją listę. Cytując MSDN :
public ObservableCollection(
List<T> list
)
Konstruktor kolekcji obserwowalnej pobierze IList lub IEnumerable.
Jeśli stwierdzisz, że będziesz to robić dużo, możesz zastosować prostą metodę rozszerzenia:
public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable)
{
return new ObservableCollection<T>(enumerable);
}