Swiz Framework с AIR - Использование ViewAdded / ViewRemoved на дочерних окнах? - PullRequest
0 голосов
/ 09 сентября 2011

Я пытаюсь реализовать всплывающее окно (NativeWindowType.UTILITY) в приложении AIR 2.7, которое использует Swiz для внедрения зависимостей.

Я следовал рекомендациям Swiz, которые мне удалось найти,и реализовал ISwizAware в классе, который создает окно, и я вызываю _swiz.registerWindow () перед открытием окна, и после этого внедрение зависимостей прекрасно работает на самом окне.

Однако проблема, которую я запускаюв том, что у меня есть дочернее представление в этом окне, и у меня есть посредник, который использует теги [ViewAdded] и [ViewRemoved].Ни добавленное представление, ни удаленное представление не срабатывают.Я думаю, что проблема заключается либо в:

  1. Дочернее представление неправильно регистрируется в Swiz.
  2. Экземпляр swiz не знает о bean-компонентах (я пытался добавить вручнуюоднако bean-компонент, который не имел никакого эффекта).
  3. Теги метаданных ViewAdded и ViewRemoved просто не работают, потому что каждый объект NativeWindow имеет свой собственный экземпляр stage.

Anyoneузнать об этом больше?

1 Ответ

0 голосов
/ 12 сентября 2011

Всплывающие окна являются особым случаем, поскольку они не добавляются в то же дерево отображения, что и ваше приложение.В Stage (основной оболочке для Flash Player) у вас будет приложение, в котором ваш код находится для Swiz, но Popup находится в отдельном слое над приложением.Поскольку они являются братьями и сестрами, Swiz не может прослушивать, когда всплывающее окно добавляется в рабочую область.

Чтобы обойти это, нужно либо задать свойства всплывающего окна вручную (что обычно является самым простым способом), либовручную добавьте всплывающее окно к осведомленности Swiz.Для этого вам придется взглянуть на документацию, так как я давно не прикасался к Swiz.

...