Программно создать сетку в flex

Я пытаюсь научиться гибкости прямо сейчас, и у меня есть некоторые проблемы. Я хочу создать новую сетку, но не в XML. Я хочу создать его в разделе сценариев.

Это код, который я написал:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark"
           xmlns:mx="library://ns.adobe.com/flex/mx"
           xmlns:flextras="http://www.flextras.com/mxml"
           width="1500" height="700">
    <fx:Declarations>
        <!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). -->
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            import flash.sampler.NewObjectSample;

            import mx.containers.Grid;
            import mx.containers.GridItem;
            import mx.containers.GridRow;

            import spark.components.Button;
            import spark.components.gridClasses.GridColumn;

            private var myGrid: Grid;
            private var gridRow : GridRow;
            private var gridItem : GridItem;
            private var myButton : Button;


            private function init():void
            {
                myGrid = new Grid();
                gridRow = new GridRow();
                gridItem = new GridItem();
                myButton = new Button();
                myButton.label = "Hi guys !";

                gridItem.addChild(myButton);
                gridRow.addChild(gridItem);
                myGrid.addChild(gridRow);
                myGrid.validateNow();
            }

        ]]>
    </fx:Script>

</mx:Canvas>

Может ли кто-нибудь показать мне, что я сделал не так?

1 ответ

Решение

Вы добавили элемент в строку, а строку в сетку, но не добавили сетку на холст.

this.addChild(myGrid);
Другие вопросы по тегам