Навигатор по вкладкам в окне заголовка: проблема - PullRequest
0 голосов
/ 17 августа 2010

Я добавляю навигатор вкладок в окно заголовка здесь.После закрытия окна заголовка его можно открыть с помощью кнопки. Но при повторном открытии окна заголовка таким образом содержимое дочерних элементов навигатора вкладок (здесь метка) не отображается.

   <?xml version="1.0" encoding="utf-8"?>
   <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"       


       <mx:TabNavigator x="68" y="68" width="200" height="200" id="tabNavig" historyManagementEnabled="false">

</mx:TabNavigator>
     <mx:Script>
        <![CDATA[
            import mx.events.CloseEvent;
            import mx.managers.PopUpManager;
                 public function init():void{
                   tabNavig.removeAllChildren();
                   tabNavig.addChild(canvas1);
                   tabNavig.addChild(canvas2);
                   tabNavig.addChild(canvas3);
                   expenseTitle.showCloseButton = true;
                   expenseTitle.addChild(tabNavig);
                   PopUpManager.addPopUp(expenseTitle,this,false);
                   expenseTitle.addEventListener(CloseEvent.CLOSE,titleWindow_close);   
    }


              private function titleWindow_close(evt:CloseEvent):void 
         {

          expenseTitle.removeAllChildren();
                       PopUpManager.removePopUp(expenseTitle); 

                         }      
                ]]>
     </mx:Script>

<mx:TitleWindow  id="expenseTitle" >
</mx:TitleWindow>

<mx:Canvas  id="canvas1"  x="476" y="117" width="200" height="200" > 

    <mx:Label x="64" y="93" text="Label1"/>
</mx:Canvas>


<mx:Canvas id="canvas2" x="244" y="310" width="200" height="200" >
    <mx:Label x="111.5" y="29" text="Label2"/>
</mx:Canvas>

<mx:Canvas  id="canvas3" x="697" y="117" width="200" height="200" >
    <mx:Label x="59" y="79" text="Label3"/>
</mx:Canvas>
<mx:Button x="78" y="310" label="Button" click="init()"/>


   </mx:Application>

1 Ответ

1 голос
/ 17 августа 2010

Структура вашего MXML полностью неверна.

Вам необходимо хранить компоненты MXML (например, окно TitleWindow, которое планируется использовать в качестве всплывающего окна) отдельно от разметки основного приложения.

Например, создайте отдельный компонент MXML с именем MyForm.mxml. Этот компонент должен быть TitleWindow с Tab Navigator. Навигатор табуляции должен иметь 3 компонента Canvas в качестве дочерних элементов.

Затем, в логике вашего основного приложения, кнопка должна запустить всплывающее окно, MyForm.mxml примерно так:

var form:MyForm = MyForm(PopUpManager.createPopUp(this, MyForm, true));
PopUpManager.centerPopUp(MyForm);

Наконец, в вашем компоненте MyForm.mxml добавьте прослушиватель событий для закрытия. Метод должен вызывать только: PopUpManager.removePopUp(this);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...