Flex PopUpManager: Как я могу определить наличие модального всплывающего окна? - PullRequest
4 голосов
/ 17 сентября 2009

В моем приложении Flex 3 есть несколько модальных диалогов, отображаемых через PopUpManager, но бывают случаи, когда я хочу, чтобы другие компоненты представления знали, что отображается всплывающее окно. PopUpManager не имеет метода для проверки наличия всплывающих окон. Есть ли другой способ обнаружить это во flash / flex без написания моего собственного глобального менеджера?

(также systemManager.popUpChildren.numChildren == 0, даже если есть модальное всплывающее окно)

Приветствие.

Ответы [ 3 ]

5 голосов
/ 17 сентября 2009

Я думаю, это зависит от того, как вы добавляете всплывающее окно, проверьте документацию:

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

Создать или добавить всплывающее окно принимает четыре параметра, а четвертый параметр является дочерним списком

childList: String (по умолчанию = null) - Дочерний список, в который нужно добавить неожиданно возникнуть. Один из PopUpManagerChildList.APPLICATION, PopUpManagerChildList.POPUP или PopUpManagerChildList.PARENT (По умолчанию).

Поэтому попробуйте добавить все всплывающие окна в определенный дочерний список, а затем поэкспериментируйте с размером списка.

3 голосов
/ 22 апреля 2010

Если у вас нет контроля над создаваемыми всплывающими окнами (т. Е. У вас есть компонент библиотеки, который создает всплывающие окна, а компонент не был создан вами, поэтому вы не можете его изменить), вы все равно можете найти все всплывающие приложение без добавления их в конкретный список. Если вы заинтересованы в другом подходе, вы можете проверить мой пост на http://www.devahead.com/blog/2009/12/getting-all-the-popups-in-a-flex-application/

0 голосов
/ 02 февраля 2018

В flex 4.7, если всплывающее окно уже создано, используйте isPopUp для экземпляра всплывающего окна.

...