Я пытаюсь выяснить, как открыть всплывающее окно в моем приложении Air, во вторичном окне вместо основного окна приложения.
Я использую компоненты ReusableFX, которые включают в себя собственную DataGrid с фильтрацией и другими возможностями. Функция фильтрации отображает всплывающее окно через PopUpManager, когда вы нажимаете на верхнюю часть столбца в сетке.
PopUpManager.addPopUp(this, FlexGlobals.topLevelApplication as DisplayObject);
Проблема в том, что всплывающее окно открывается в основном приложении - я полагаю, из-за ссылки 'topLevelApplication'.
Итак, мне нужен способ открыть это окно в текущем Air: s: Window.
Я предполагаю, что мне нужен способ подняться: this.parent.parent или this.owner.owner - хотя я пробовал это, и это, похоже, не сработало (оно указывало на нулевую ссылку).
ИЛИ, есть ли способ получить текущее самое верхнее окно / компонент (НЕ основное приложение / окно)?
Обновление:
Я решил создать новый проект для компонента и добавить в библиотеки Air. Теперь я могу получить доступ к вызову "NativeApplication.nativeApplication.activeWindow". Это дает мне правильное воздушное окно. Тем не менее, это не похоже на работу:
PopUpManager.addPopUp(this, NativeApplication.nativeApplication.activeWindow as DisplayObject);
Мое всплывающее окно не появляется. Я предполагаю, потому что "activeWindow" на самом деле не является DisplayObject? (так как я могу получить DisplayObject, если это так?)
Обновление:
Может быть, я являюсь жертвой этой ошибки Adobe? ( найден здесь изначально )