Flex PopUpManager:如何检测模态弹出窗口的存在?

时间:2009-09-17 04:49:09

标签: flex flash actionscript-3 actionscript

我的Flex 3应用程序有一些通过PopUpManager显示的模态对话框,但有时候我希望其他视图组件知道有弹出窗口显示。 PopUpManager没有任何实际检查弹出窗口存在的方法。有没有其他方法可以在flash / flex中检测到这一点而无需编写我自己的全局管理器?

(即使有模态弹出窗口,也是systemManager.popUpChildren.numChildren == 0)

干杯。

3 个答案:

答案 0 :(得分:5)

我认为这取决于您添加弹出窗口的方式,请查看文档:

http://livedocs.adobe.com/flex/3/langref/mx/managers/PopUpManager.html

创建或添加弹出窗口需要四个参数,第四个参数是子列表

  

childList:String(default = null) -   要添加的子列表   弹出。之一   PopUpManagerChildList.APPLICATION,   PopUpManagerChildList.POPUP,或   PopUpManagerChildList.PARENT   (默认)。

因此,尝试将所有弹出窗口添加到特定的子列表中,然后使用列表的大小进行播放。

答案 1 :(得分:3)

如果您无法控制所创建的弹出窗口(即您有一个库组件可以创建弹出窗口并且该组件尚未由您制作,因此您无法修改它),您仍然可以找到所有弹出窗口应用程序而不将它们添加到特定列表。如果对不同的方法感兴趣,可以在http://www.devahead.com/blog/2009/12/getting-all-the-popups-in-a-flex-application/

查看我的博客文章

答案 2 :(得分:-1)

在flex 4.7中,如果弹出窗口已经实例化,请使用isPopUp作为弹出窗口实例。