手动创建Flex PopUpAnchor不显示

时间:2012-09-11 10:51:37

标签: flex

我需要使用ActionScript创建一个组件。在这种情况下不能使用mxml。 在我的组件中,我需要使用new运算符和addElement创建PopUpAnchor到舞台上。不幸的是,当我这样做时,PopUpAnchor的displayPopUp属性不会响应任何值。 这是我的例子:

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     initialize="init(event)">

    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            import spark.components.Label;
            import spark.components.PopUpAnchor;

            protected function init(event:FlexEvent):void
            {
                var anchor:PopUpAnchor = new PopUpAnchor();
                var label:Label = new Label();
                label.text = 'ABC';
                anchor.addChild(label);

                addElement(anchor);
                anchor.displayPopUp = true;
            }

        ]]>
    </fx:Script>

</s:WindowedApplication>

我正在使用带有AIR SDK 2.6的Flex SDK 4.5。 我做错了什么?

1 个答案:

答案 0 :(得分:4)

我明白了。问题是我不能在锚点上使用addChild。我应该使用popUp属性。

所以,这一行是错误的:

<击>

<击>
anchor.addChild(label);

<击>

并且应该更正为此形式:

anchor.popUp = label;