如何使PopUpManager正确显示基于spark TitleWindow的自定义组件?

时间:2011-01-28 11:23:33

标签: flex actionscript-3 flex4 popup

我使用此代码创建并显示MessageWindow:

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

MessageWindow源代码:

<?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。 有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:3)

尝试将mx:Script替换为fx:Script