invalidateList和invalidateDisplayList有什么区别?
时间:2020-03-05 18:56:29 来源:igfitidea点击:
我有一个DataGrid,其中填充了ArrayCollection中的对象。更新对象的字段之一后,我希望屏幕进行更新。数据源不可绑定,因为我是在运行时构造它的(而且我还不知道如何使它即时可绑定-这是另一个问题)。
在这种情况下,如果我在网格上调用InvalidateDisplayList()似乎什么都没有发生。但是,如果我调用invalidateList(),则会发生更新。 (它也非常平滑-不会像我期望的那样使WIN32中的窗口无效而闪烁。)
那么问题来了:InvalidateList和InvalidateDisplayList有什么区别?从文档看来,似乎任何一个都应该起作用。
解决方案
回答
invalidateDisplayList()仅设置一个标志,以便稍后在屏幕更新期间可以调用updateDisplayList()。 invalidateList()是我们想要的。
http://livedocs.adobe.com/flex/2/langref/mx/core/UIComponent.html#invalidateDisplayList()
回答
invalidateList告知组件数据已更改,需要重新加载并重新呈现它。
invalidateDisplayList告诉组件它需要重绘自身(但不一定重载其数据)。