2013-05-08 70 views
80

我有一個List<T>正在從JSON填充。我需要將其轉換爲ObservableCollection<T>以將其綁定到我的GridView將列表<T>轉換爲ObservableCollection <T>

有什麼建議嗎?

+5

一個'Suggestion'會做一個谷歌搜索或尋找到這個頁面的右側,看看一些'Related'鏈接,實際上有幾個例子在線..也請記住 '一個ObservableCollection的構造函數需要List作爲參數.' – MethodMan 2013-05-08 04:08:51

+0

Duplicate - http://stackoverflow.com/questions/9069445/the-best-way-to-convert-listobject-to-observablecollectionobject/41731406#41731406 – vapcguy 2017-01-18 23:53:29

回答

162

的ObservableCollection < T>有一個構造overload 這需要的IEnumerable < T>

示例的int列表:

ObservableCollection<int> myCollection = new ObservableCollection<int>(myList); 

再舉一個例子爲一個列表ObjectA

ObservableCollection<ObjectA> myCollection = new ObservableCollection<ObjectA>(myList as List<ObjectA>); 
+0

我更喜歡創建擴展方法。幫助保持依賴關係倒計時。 – markokstate 2017-10-25 17:30:53

15

ObervableCollection具有構造函數,您可以在其中傳遞列表。 引用MSDN

public ObservableCollection(
     List<T> list 
) 
3

Observable Collection構造函數將採用IList或IEnumerable。

如果你發現你要做到這一點有很多,你可以做一個簡單的擴展方法:

public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable) 
    { 
     return new ObservableCollection<T>(enumerable); 
    } 
相關問題