2010-12-08 25 views
0

Dans notre application, nous avons un scénario où nous voulons afficher le résultat de la recherche. Le résultat de la recherche peut être affiché sous forme de liste ou de vue détaillée. nous utilisons listview pour cela comme listview par défaut utilise la virtualisation de l'interface utilisateur.ListView avec deux vues

Ma question ici est comment pouvons-nous améliorer les performances de notre application? 1) conserver le contrôle de liste unique avec deux vues différentes. 2) À l'aide de deux contrôle Listview et de la liaison de sa propriété de visibilité. En utilisant la première option que j'ai observée si les enregistrements de recherche augmentent au-dessus de 1000, il faut beaucoup de temps pour basculer entre la liste et la vue détaillée. Pour la deuxième option, je dois faire la même liaison et définir la propriété de visibilité.

Veuillez indiquer l'approche à utiliser ou y a-t-il autre chose de mieux que celle que nous pouvons utiliser dans ce scénario?

Merci,

Répondre

0

La question est: avez-vous vraiment besoin de montrer tous les 1000 éléments dans la vue? Une optimisation possible pourrait être simplement de charger 100 d'entre eux à la fois, puis lorsque l'utilisateur atteint la fin de la vue, charger 100 autres résultats.

1

Utilisez la seconde option.

Les utilisateurs acceptent généralement le fait que lorsqu'ils essaient de modifier une vue, la vue peut être réinitialisée. Par conséquent, ne remplissez pas les données dans l'autre ListView jusqu'à ce que l'utilisateur le montre.

Et Marvin est correct, ce n'est pas une bonne idée de charger beaucoup de données en même temps. Pour éviter cela, utilisez Virtualization.

+0

S'il vous plaît pouvez-vous proposer un bon lien pour implémenter la virtualisation des données? Cela ne semble pas être aussi simple. – Fatema

+0

http://www.codeproject.com/KB/WPF/WpfDataVirtualization.aspx – decyclone

+0

http://www.kirupa.com/net/ui_virtualization_pg1.htm – decyclone