Convertir una lista <T> en una colección observable <T>


Respuestas:


249

ObservableCollection <T> tiene una sobrecarga de constructor que toma IEnumerable <T>

Ejemplo de una lista de int:

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

Un ejemplo más de una lista de ObjectA:

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

Prefiero esto a crear un método de extensión. Ayuda a mantener la cuenta atrás de la dependencia.
markokstate

1
¿Cómo lograrlo al revés?
Arun Prasad

19

ObervableCollection tiene un constructor en el que puede pasar su lista. Citando MSDN :

 public ObservableCollection(
      List<T> list
 )

6

El constructor de la colección observable tomará un IList o un IEnumerable.

Si encuentra que va a hacer mucho esto, puede crear un método de extensión simple:

    public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable)
    {
        return new ObservableCollection<T>(enumerable);
    }
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.