2011-01-28 23 views
1

我使用此代碼創建並顯示一個消息窗:如何使PopUpManager正確顯示基於Spark TitleWindow的自定義組件?

var newTitleWindow:MessageWindow = PopUpManager.createPopUp(contextView,MessageWindow, true) as MessageWindow; 
    newTitleWindow.text = message; 
    PopUpManager.centerPopUp(newTitleWindow); 

消息窗源代碼:

<?xml version="1.0"?> 
<s:TitleWindow title="Something gone wrong" width="200" height="130" xmlns:mx="http://www.adobe.com/2006/mxml" 
       close="closeMe()" resize="centerMe()" xmlns:s="library://ns.adobe.com/flex/spark" > 
    <mx:Script><![CDATA[ 
     import mx.managers.PopUpManager; 


     [Bindable] 
     public var text:String; 

     private function closeMe():void { 
      PopUpManager.removePopUp(this); 
     } 

     private function centerMe():void { 
      PopUpManager.centerPopUp(this); 
     } 
     ]]></mx:Script> 
    <s:VGroup top="0" bottom="0" left="0" right="0"> 
     <s:Label id="lbl" left="10" right="10" textAlign="center" text="{text}"/> 
     <s:Button id="btn"/> 
    </s:VGroup> 
</s:TitleWindow> 

有當我運行我的應用程序沒有嵌套的組件顯示。
s:TitleWindow nested components are not shown

調試器顯示它們已創建且可見。

當我用mx:TitleWindow替換s:TitleWindow時,我的「娛樂」組件顯示出來。
mx:TitleWindow nested components are shown

我真的想使用spark TitleWindow。 有沒有什麼技巧可以解決這個問題?

+0

更換mx:Script你可以給我們一個可運行的示例代碼?有什麼不對勁,但什麼都不明顯。從概念上講,我做了同樣的事情,沒有任何問題。 – JeffryHouser 2011-01-28 12:52:11

回答

3

嘗試fx:Script

+0

非常感謝! – Nek 2011-01-28 13:40:04

相關問題