filtro filtrar c# .net wpf collectionview

c# - filtrar - Obtener elementos filtrados de un CollectionView



filtrar datagridview c# (1)

Tengo un ListCollectionView que se le ha aplicado un filtro. Para obtener los elementos filtrados de la lista (por ejemplo, para escribir en un archivo), hay una forma clara de hacerlo.

Mi solución actual es

var filteredItems = originalCollection.Where(i => view.Filter(i));

En el código view.Filter si hay nulos en originalCollection y view.Filter .

¿Hay una forma más limpia de hacer esto?


El método GetEnumerator tiene en cuenta el filtro, por lo que solo puede foreach en la vista:

ICollectionView view = ... view.Filter = ... foreach(Foo o in view) { ... }

(Suponiendo que los objetos en la colección original son de tipo Foo ).

También puedes usar el método de extensión Cast :

var filteredItems = view.Cast<Foo>();