2013-08-07 28 views
10

Tôi đang ở wpf và có danh sách chung: Danh sách. Bây giờ tôi muốn đưa nó vào một bộ sưu tập chung có thể quan sát: ObservableCollection.Làm thế nào để đúc một Danh sách <T> đến một ObservableCollection <T> trong wpf?

Tôi hiểu rằng tôi có thể lặp qua danh sách và thêm từng mục riêng lẻ vào bộ sưu tập có thể quan sát. Tuy nhiên, có vẻ như với tôi phải có một cách tích hợp để làm điều này.

+2

có thể trùng lặp của http://stackoverflow.com/questions/9069445/ the-best-way-to-convert-listobject-to-observablecollectionobject – Nitesh

+0

Đó có phải là cách tích hợp không? http://msdn.microsoft.com/en-us/library/ms653202.aspx – 2kay

+1

Không có cách nào để truyền sang loại không tương thích và thậm chí nếu nó ở đó, chương trình của bạn sẽ bị lỗi khi bạn cố gắng sử dụng nó. –

Trả lời

26

Nếu bạn chỉ muốn tạo ra một ObservableCollection từ một List, sau đó tất cả các bạn cần làm là

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

bạn có thể làm điều đó bằng cách sử dụng phương pháp khuyến nông

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; 
} 

hoặc bạn có thể sử dụng constructor này Các yếu tố được sao chép vào ObservableCollection theo thứ tự chúng được đọc bởi các điều tra viên của danh sách.

ObservableCollection<YourObject> collection = new ObservableCollection<YourObject>(yourList); 
3
var _oc = new ObservableCollection<ObjectType>(_listObjects); 
2

ObservableCollection có Conttructor cho IEnumerable<T>ObservableCollection

ObservableCollection<yourType> observable = 
     new ObservableCollection<yourType>(yourListObject); 
Các vấn đề liên quan