我的Flex 3应用程序有一些通过PopUpManager显示的模态对话框,但有时候我希望其他视图组件知道有弹出窗口显示。 PopUpManager没有任何实际检查弹出窗口存在的方法。有没有其他方法可以在flash / flex中检测到这一点而无需编写我自己的全局管理器?
(即使有模态弹出窗口,也是systemManager.popUpChildren.numChildren == 0)
干杯。
答案 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
作为弹出窗口实例。