Quelle est la différence entre invalidateList et invalidateDisplayList?
-
09-06-2019 - |
Question
J'ai un DataGrid, rempli d'objets dans un ArrayCollection. Après avoir mis à jour l'un des champs des objets, je souhaite que l'écran soit mis à jour. La source de données n'est pas susceptible d'être liée, car je la construit au moment de l'exécution (et je ne comprends pas encore comment la rendre accessible à la volée - c'est une autre question).
Dans cette situation, si j'appelle InvalidateDisplayList () sur la grille, rien ne semble se passer. Mais si j'appelle invalidateList (), les mises à jour se produisent. (Et c'est très lisse aussi - pas de scintillement comme on peut s'y attendre d'invalider une fenêtre dans WIN32.)
Alors la question: quelle est la différence entre InvalidateList et InvalidateDisplayList? D'après la documentation, il semble que l'une ou l'autre devrait fonctionner.
La solution
invalidateList indique au composant que les données ont été modifiées et qu'il doit les recharger et les restituer.
invalidateDisplayList indique au composant qu'il a besoin de se redessiner (mais pas nécessairement de recharger ses données).
Autres conseils
invalidateDisplayList () définit simplement un indicateur afin que updateDisplayList () puisse être appelé ultérieurement lors d'une mise à jour d'écran. invalidateList () est ce que vous voulez.