2009-06-11 7 views
1

J'ai listview avec le tri personnalisé et le filtre implémenté dessus ... C'est un filtre basé sur textbox, comme l'utilisateur tape, les éléments de la listview sont filtrés. Maintenant ... quand j'applique tri sur listview, le filtre est très lent car chaque fois que la méthode de comparaison de tri personnalisée est appelée pour chaque élément de listview pendant le filtrage ... comment éviter l'appel de méthode de comparaison du tri personnalisé pendant le filtrage?WPF Listview Problème de performance SORT et FILTER

+0

Utilisez-vous la méthode de filtre de vue WPF standard? –

+0

Oui, j'utilise la méthode de filtre d'affichage wpf standard ... – Sandeep

Répondre

0

Vous pouvez trier la liste avant de le mettre dans le ListView, il peut être moins pratique, mais je pense que c'est la seule façon d'éviter d'avoir recours lorsque vous changez le filtre

+0

Je trier une liste avant de la lier à listview mais l'utilisateur peut changer le tri à tout moment en cliquant sur l'entête cloumn de listview. Y a-t-il un moyen d'éviter l'appel à la méthode ICompare lorsque nous filtrons sans réinitialiser la propriété de vue customsort, car il triera à nouveau lors de la réinitialisation de cette propriété – Sandeep

0

Liste des problèmes de performance peuvent également être causés par un non liste virtualisée:

pour une liste virtualisée seuls les éléments visibles sont calculés pour l'affichage, tandis que pour une liste non virtualisée, l'affichage est calculé pour tous les éléments. Cela peut être désastreux pour les listes de quelques centaines d'éléments.

WPF: List boxes and virtualization