2011-01-28 50 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

相关问题