2009-09-17 59 views
4

我的Flex 3應用程序有一些通過PopUpManager顯示的模式對話框,但有時我希望其他視圖組件知道彈出窗口顯示。 PopUpManager沒有任何實際檢查彈出窗口的方法。有沒有其他方法可以在沒有寫我自己的全球經理的情況下在flash/flex中檢測到這一點?Flex PopUpManager:如何檢測模態彈出窗口的存在?

(也systemManager.popUpChildren.numChildren == 0,即使有一個模式彈出)

乾杯。

回答

5

我認爲這取決於您要添加彈出的方式,查看文檔:

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

創建或添加彈出四個參數和第四個參數是一個子列表

childList:String(default = null) - 要在其中添加 彈出框的子列表。 PopUpManagerChildList.APPLICATION, PopUpManagerChildList.POPUP或 PopUpManagerChildList.PARENT (默認值)之一。

因此,請嘗試將所有彈出窗口添加到特定的子列表中,然後使用列表的大小進行調整。

+0

我會和那些人一起玩,讓你知道。他們不清楚如何訪問子表。 – Glenn 2009-09-17 06:09:24

+0

這是正確的想法,但我找不到關於childList選項*意味着什麼的文檔,直到我找到這個:http://blog.flexmonkeypatches.com/2007/10/04/flex-close-all-彈出窗口/。 POPUP設置將彈出窗口附加到systemManager.popUpChildren列表。 – Glenn 2009-09-17 21:11:24

3

如果您無法控制所創建的彈出窗口(例如,您有一個創建彈出窗口的庫組件,並且組件尚未由您製作,因此您無法修改它),您仍然可以找到所有彈出窗口在應用程序中不將它們添加到特定列表中。如果對不同的方法感興趣,可以查看我的博客文章http://www.devahead.com/blog/2009/12/getting-all-the-popups-in-a-flex-application/

-1

在flex 4.7中,如果popup已經實例化,請使用isPopUp作爲彈出實例。

相關問題