Flex 4 Panel 的 controlBarContent 是动态的吗?

发布于 2024-11-19 05:39:31 字数 331 浏览 3 评论 0原文

我有一个自定义 TitleWindow 组件(用 ActionScript 编写),它扩展了 spark.componenets.TitleWindow

我想在控制栏中定义一些控件,但在创建阶段我没有所有控件。此外,此自定义组件是需要控制栏中其他控件的其他组件的基础。

有没有办法在运行时将控件添加到 ActionScript 中的 controlBarContent 中?

也许像下面这样? (这显然不起作用)

controlBarContent = [];
.
.
.
controlBarContent.push(new Button());

I have a custom TitleWindow component (written in ActionScript) that extends spark.componenets.TitleWindow

I want to define some controls to be in the control bar but I don't have all controls at the creation stage. Also, this custom component is the base for other components which need other controls in the control bar.

Is there a way to add controls to the controlBarContent in ActionScript at run time?

Maybe something like the following? (this obviously didn't work)

controlBarContent = [];
.
.
.
controlBarContent.push(new Button());

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无法言说的痛 2024-11-26 05:39:31

一般来说,请注意

addElement()

addChild()

方法。

addElement() 添加其他 UI 组件作为其他组件的子元素。

这个< /a> 可能会感兴趣。最后,Adobe 在这里提供了很好的帮助:“使用组件”

UPDATE-1

抱歉,是我的错。这对我有用:

<s:Panel creationComplete="init();" id='p' controlBarVisible="true" >

    <s:controlBarContent>

        <!-- will show controls -->
        <s:Button label="dd">

        </s:Button>

    </s:controlBarContent>


    <fx:Script>
        <![CDATA[
            import mx.controls.Button;

            import spark.components.Button;

            private function init(): void {

                var s:spark.components.Label = new spark.components.Label();
                s.text = 'My Label';
                s.width = 200;

                var a:Array = new Array();
                a.push( s );

                p.controlBarVisible = false;
                p.controlBarContent = a;
                p.controlBarVisible = true;

                p.invalidateDisplayList();

            }

        ]]>
    </fx:Script>

</s:Panel>

In general, look out for

addElement()

or

addChild()

methods.

addElement() adds other UI components as sub-elements of other components.

This might be of interest. Finnaly, Adobe provides good help here: 'Working with components'.

UPDATE-1

Sorry, my fault. This works for me:

<s:Panel creationComplete="init();" id='p' controlBarVisible="true" >

    <s:controlBarContent>

        <!-- will show controls -->
        <s:Button label="dd">

        </s:Button>

    </s:controlBarContent>


    <fx:Script>
        <![CDATA[
            import mx.controls.Button;

            import spark.components.Button;

            private function init(): void {

                var s:spark.components.Label = new spark.components.Label();
                s.text = 'My Label';
                s.width = 200;

                var a:Array = new Array();
                a.push( s );

                p.controlBarVisible = false;
                p.controlBarContent = a;
                p.controlBarVisible = true;

                p.invalidateDisplayList();

            }

        ]]>
    </fx:Script>

</s:Panel>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文