繁体   English   中英

如何投射列表 <T> 到一个ObservableCollection <T> 在wpf中?

[英]How to cast a List<T> to an ObservableCollection<T> in wpf?

我在wpf中,有一个通用列表:列表。 现在,我希望将其转换为通用的可观察集合:ObservableCollection。

我知道我可以遍历列表并将每个单独的项目添加到Observable集合中。 但是,在我看来,这必须是一种内置的方法。

如果只想从List创建ObservableCollection ,那么您要做的就是

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

您可以使用扩展方法来做到这一点

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

的ObservableCollection具有Conttructor为IEnumerable<T> 的ObservableCollection

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM