Ligne de grille de données de virtualisation de problème d'affichage

Nous avons actuellement un DataGrid qui est lié à un DataTable. Il dispose également d'un modèle de colonne avec un CheckBox qui nous ajouter en programmant. Ce but de cet article est suivi de plusieurs sélections dans le DataGrid.

Une usine est utilisé pour créer le CheckBoxes pour chaque ligne.

Il existe assez peu de dossiers, de sorte que la ligne de virtualisation est définie sur true, de sorte que la performance est acceptable. Cependant, nous assistons à un étrange problème où, si nous vérifions certains CheckBoxes sur les 10 premières lignes, puis faites défiler vers le bas d'environ 50 lignes (la grille a environ 10 lignes visibles à tout moment), il y a un tas d'autres CheckBoxes qui semblent être vérifié au hasard.

Si on désactive la ligne de virtualisation ce problème n'existe pas (mais la performance est terrible). Est-il un moyen de contourner cela? Quelqu'un sait ce que nous faisons peut-être mal?

  • quand vous dites que la performance est terrible, après la suppression de la virtualisation, il est terrible sur la charge ou sur parchemin. Si c'est sur la charge, il y a une solution qui va le faire pas terrible, sur scroll est une autre question...
  • C'est seulement sur la charge. Toutes les performances est sur la méthode Show de la fenêtre qui contient la grille de données. Avec une ligne de la virtualisation il taks 200ms pour montrer avec 2 500 enregistrements dans la grille de données. Sans ligne de virtualisation, il prend 28 secondes.
  • ajout de code pour vous... juste eu à retoucher la performance au travail il y a quelques jours, fonctionne comme un charme
InformationsquelleAutor WPFNewbie | 2012-03-30