J'ai une liste de projets dtos qui contiennent une collection de tâches. Sur mon ViewModel j'ai une ICollectionView pour les projets afin que je puisse filtrer les projets qui sont marqués comme fait voir ci-dessous le code de filtre.Filtrage d'une collection à l'intérieur d'une collection MVVM
public void FilterDoneItems()
{
if (this.MarkDone)
{
ProjectsViewSource.Filter = new Predicate<object>(FilterDone);
}
else
{
ProjectsViewSource.Filter = null;
}
}
Cela fonctionne très bien pour les projets, mais je veux également filtrer les tâches effectuées. Comme le ProjectDTO englobe les Tâches (Liste), je ne peux pas envelopper les tâches dans un ICollectionView pour les filtrer dans le ViewModel.
Je ne suis pas sûr de la meilleure façon de filtrer sur les tâches et quelqu'un peut-il vous aider s'il vous plaît?
Est-ce que je dois lier à la CollectionViewSource ou que je pourrais lier encore à la collecte réelle et ont le travail de filtrage? – Burt
@Burt: Vous vous liez toujours à la collection actuelle. À partir du document CollectionViewSource.GetDefaultView: «Si vous liez directement à une collection, WPF se lie à l'affichage par défaut pour cette collection. – Quartermeister