2013-05-08 72 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); 
    } 
相关问题