2008-09-16 52 views
10

我有一個DataGrid,用ArrayCollection中的對象填充。更新其中一個對象的字段後,我希望屏幕更新。數據源不可綁定,因爲我在運行時構建它(並且我不知道如何使它可以動態綁定 - 這是另一個問題)。invalidateList和invalidateDisplayList有什麼區別?

在這種情況下,如果我叫InvalidateDisplayList()對電網好像沒有什麼改變。但是如果我調用invalidateList(),更新就會發生。 (它也非常流暢 - 沒有像WIN32中使窗口失效那樣閃爍。)

所以問題:InvalidateList和InvalidateDisplayList之間有什麼區別?從文檔看來,任何一個人都應該工作。

回答

18

invalidateList告訴該數據已經改變的組件,它需要重新加載並重新呈現。

invalidateDisplayList告訴它需要重繪自身(但不一定刷新其數據)的組件。

+0

Actionscript是否有類似的功能來刷新一個movieclip/sprite。例如,在運行時更改混合模式後。剪輯不會自動更新。 Fahim; – 2012-12-11 15:28:47