2010-08-17 91 views
0

我在這裏增加一個選項卡導航到一個標題窗口。一旦標題窗口關閉時,它可以使用button.But以這種方式打開的窗口標題第二次被重新打開時,Tab鍵導航器(在這裏,標籤)的兒童的內容是不可見的。標籤導航標題中的窗口:問題

<?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

您的MXML結構是完全錯誤的。

你需要保持MXML組件(例如,你打算使用作爲一個彈出一個TitleWindow中)從主應用程序標記語言中分離。

例如,創建一個單獨的MXML組件,稱爲MyForm.mxml。該組件應該是帶有Tab Navigator的TitleWindow。 Tab Navigator應該有3個Canvas組件作爲子組件。

然後,在你的主應用程序邏輯,按鈕應啓動彈出,MyForm.mxml像這樣:

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

最後,在MyForm.mxml組件,添加事件偵聽器關閉。該方法只需要調用:PopUpManager.removePopUp(this);

+0

非常感謝!它對我來說非常有效。 – himanshu 2010-08-18 14:36:51