¿Hay alguna manera de hacerlo sin tener que recorrer la Lista y agregar los elementos a ObservableCollection?¿Cómo convierto una lista (de T) a una ObservableCollection (Of T) en VB.NET?
Respuesta
No, no hay forma de convertir directamente la lista a una colección observable. Debe agregar cada elemento a la colección. Sin embargo, a continuación hay un atajo para permitir que el marco enumere los valores y los agregue por usted.
Dim list as new List(of string)
...some stuff to fill the list...
Dim observable as new ObservableCollection(of string)(list)
llego tarde, pero quiero compartir esta pieza interesante para convertir una lista en un ObservableCollection si necesita un bucle:
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;
}
Se podía pasar una colección al constructor ObservableCollection:
List<Product> myProds = ......
ObservableCollection<Product> oc = new ObservableCollection<Product>(myProds);
Ahora tiene que traducirlos a VB.NET :)
a aclarar lo que está diciendo junior (con un ejemplo adicional si usted está utilizando LINQ que devuelve un IEnumerable):
//Applications is an Observable Collection of Application in this example
List<Application> filteredApplications =
(Applications.Where(i => i.someBooleanDetail)).ToList();
Applications = new ObservableCollection<Application>(filteredApplications);
//Create an observable collection TObservable.
ObservableCollection (TObservable) =new ObservableCollection (TObservable)();
//Convert List items(OldListItems) to collection
OldListItems.ForEach(x => TObservable.Add(x));
ObservableCollection<yourobjectname> result = new ObservableCollection<yourobjectname>(yourobjectlist);
por favor ponga aquí la descripción de su respuesta. –
pesar de que estoy tarde, quiero compartir una mejora rápida a Junior Respuesta: permita que el desarrollador defina la función de conversión utilizada para convertir objetos de colección observables de la colección de origen a la de destino.
como la siguiente:
public static ObservableCollection<TDest> ToObservableCollection<TDest, TSource>(this IEnumerable<TSource> coll, Func<TSource, TDest> converter)
{
var c = new ObservableCollection<TDest>();
foreach (var e in coll)
{
c.Add(converter(e));
}
return c;
}
- 1. ObservableCollection (Of T) vs BindingList (Of T)?
- 2. objeto vb.net Lista initialiser (Of T)
- 3. Limite el tamaño de List (Of T) - VB.NET
- 4. VB.NET ArrayList a List (Of T) copy/conversion mecanografiado
- 5. IList <T> a ObservableCollection <T>
- 6. Acción (De T) en Visual Basic en la lista (Of T) .ForEach
- 7. WPF ObservableCollection <T> vs BindingList <T>
- 8. ¿Cómo funciona ObservableCollection <T> .Add?
- 9. C# ListBox ObservableCollection <T>
- 10. Cómo llenar una tabla de datos con una lista (de t) o convertir una lista (de t) en una tabla de datos?
- 11. BlockReentrancy en ObservableCollection <T>
- 12. ¿Cómo convierto delegar la función R <T,R> (T t) en Func <T,R>?
- 13. ¿Cómo convierto caracteres de cadena en una lista?
- 14. Convierta una matriz a HashSet <T> en .NET
- 15. ¿Cómo creo una lista <T> de una SortedList <int, T>?
- 16. Cómo agregar un elemento de tipo T a una lista <T> sin saber qué es T?
- 17. Cómo convertir IQueryable <T> a una lista <T>?
- 18. Enlace a una ordenada ObservableCollection <T> en un ListBox
- 19. ¿Cómo se agrega una LinkedList <T> a una LinkedList <T> en C#?
- 20. Cómo agregar una T a la lista <T> donde la lista <T> se enmascara como 'dinámica' y T como 'objeto'?
- 21. Cómo convertir una lista genérica <T> en una lista basada en interfaz <T>
- 22. ¿Por qué no puedo lanzar una lista de IEnumerable <T> a una lista de vinculación <t>?
- 23. Cómo crear una propiedad para una lista <T>
- 24. ¿Cómo ejecuto una expresión foreach lambda en ObservableCollection <T>?
- 25. La mejor manera de obtener una lista de una propiedad de T de una lista <T>
- 26. Descifrando T-SQL CAST en C#/VB.NET
- 27. convertir o emitir una lista <t> a EntityCollection <T>
- 28. Custom ObservableCollection <T> o BindingList <T> con soporte para notificaciones periódicas
- 29. ¿Cómo transformo una Lista <T> en un DataSet?
- 30. ¿Cómo convierto un int a una cadena acolchada cero en T-SQL?
Ver pregunta relacionada: http://stackoverflow.com/questions/731626/ilistt-to-observablecollectiont – gideon