Apache flex 柔性面板儿童不';当自定义组件使用面板作为基础时创建的

Apache flex 柔性面板儿童不';当自定义组件使用面板作为基础时创建的,apache-flex,flex4,Apache Flex,Flex4,我在FLex中发现了一些我不熟悉的行为,无法理解为什么会发生这种情况。有人能解释一下吗?我有一个CustomComponent,它的基本组件是火花盘。以下是一个例子: <s:Panel title="hello world panel"> <s:Label text="hello world" /> <s:controlBarContent> <s:Button label="hello world button" /&g

我在FLex中发现了一些我不熟悉的行为,无法理解为什么会发生这种情况。有人能解释一下吗?我有一个CustomComponent,它的基本组件是火花盘。以下是一个例子:

<s:Panel title="hello world panel">
    <s:Label text="hello world" />
    <s:controlBarContent>
        <s:Button label="hello world button" />
    </s:controlBarContent>
</s:Panel>

在另一个类中,我使用new操作符创建一个新的CustomComponent,并将其添加到已经在舞台上的mx画布中。当这种情况发生时,CustomComponent出现,我可以看到标题栏和标题,我可以看到controlBarContent中的按钮,但我看不到内容(标签)

如果我从我的自定义组件(面板部分)中获取代码,并直接将其放在我添加到的画布中,那么它就可以正常工作了

此外,如果我让我的CustomComponent有一个画布的基础,然后把我的面板放在那里,它也可以正常工作

<mx:Canvas>
    <s:Panel title="hello world panel">
        <s:Label text="hello world" />
        <s:controlBarContent>
            <s:Button label="hello world button" />
        </s:controlBarContent>
    </s:Panel>
</mx:Canvas>

这是flex中可能存在的错误吗?或者这是它应该工作的方式,如果它应该工作的方式,有人能告诉我为什么吗


谢谢

从你描述的情况来看,它对我很有效。您可以分享创建和添加自定义面板的代码吗?我还建议您使用s:Group组件,而不是有点过时的mx:Canvas。我也尝试使用Group而不是Canvas,我只使用Canvas,因为我正在修改其他人的代码,这是他们的标准。至于创建面板的代码,我只需使用new CustomComponent(),然后使用addElement将其添加到其父级。