2013-05-08 16 views
80

Ho un List<T> che viene popolato da JSON. Devo convertirlo in un ObservableCollection<T> per collegarlo al mio GridView.Convertire una lista <T> in una ObservableCollection <T>

Qualche suggerimento?

+5

Uno 'Suggestion' sarebbe fare una ricerca su google o guardare al lato destro di questa pagina e guarda alcuni dei link 'Related' ci sono in realtà diversi esempi in linea .. Tieni presente anche ' Uno dei costruttori di ObservableCollection accetta un parametro come parametro. – MethodMan

+0

Duplicato - http://stackoverflow.com/questions/9069445/the-best-way-to-convert-listobject-to-observablecollectionobject/41731406 # 41731406 – vapcguy

risposta

162

ObservableCollection < T> ha un costruttore overload che richiede IEnumerable < T>

Esempio di un elenco di int:

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

Un altro esempio di un elenco di ObjectA:

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

Preferisco questo per la creazione di un metodo di estensione. Aiuta a mantenere il conto alla rovescia delle dipendenze. – markokstate

15

ObervableCollection dispone di un costruttore nel quale è possibile passare l'elenco. Citando MSDN:

public ObservableCollection(
     List<T> list 
) 
3

Il costruttore di Observable Collection prenderà un IList o un IEnumerable.

Se si scopre che si sta per fare questo molto si può fare un semplice metodo di estensione:

public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable) 
    { 
     return new ObservableCollection<T>(enumerable); 
    } 
Problemi correlati