19

私はwpfにいて、一般的なリストを持っています:List. ここで、それを一般的な監視可能なコレクションである ObservableCollection にキャストしたいと思います。

リストを反復処理して、個々のアイテムを Observable コレクションに追加できることを理解しています。ただし、これを行う組み込みの方法が必要なようです。

4

4 に答える 4

51

ObservableCollectionからを作成したいだけの場合はList、次のことを行う必要があります。

ObservableCollection<MyType> obsCollection = new ObservableCollection<MyType>(myList);
于 2013-08-07T06:19:38.690 に答える
2

ObservableCollection には ObservableCollection のコンストラクターがありIEnumerable<T> ます

ObservableCollection<yourType> observable = 
        new ObservableCollection<yourType>(yourListObject);
于 2013-08-07T06:20:51.933 に答える
2
var _oc = new ObservableCollection<ObjectType>(_listObjects);
于 2013-08-07T06:19:24.333 に答える
1

拡張メソッドを使用してそれを行うことができます

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);
于 2013-08-07T06:18:41.233 に答える