Как добавить Spark-компонент в расширенный пользовательский элемент MX? - PullRequest
0 голосов
/ 14 ноября 2010

Привет всем, я Я работал над приложением в течение довольно долгого времени, и в одном из моих списков mx: у меня есть пользовательский рендер, написанный на чистом AS (без mxml). он расширяет список элементов MX Componentet. в нем я переопределил функцию createChildren (), чтобы добавить своих собственных детей.

Теперь текст справа налево, который я хочу в этом элементе поиска предметов, хотел бы добавить компонент spark: TextArea в эту функцию createChildren ()

есть ли способ сделать это?

это itemRenderer:

import flash.text.TextField;

import mx.controls.listClasses.ListItemRenderer;

import spark.components.TextArea;

public class MySumTileIR2 extends ListItemRenderer
{
    public function MySumTileIR2()
    {
        super();
    }

    override protected function createChildren():void {
        super.createChildren();
        label.visible = false;

        var tf:TextField = new TextField();
        tf.text = "this is a TextField";
        this.addChild(tf);
        var ta:TextArea = new TextArea();
        ta.text = "this is a Spark TextArea"; 
        this.addChild(ta);
    }
}

и это его владелец:

<mx:Panel id="MTGpicsPanel" label="totalPics" title="{totalPics}" height="100%" horizontalAlign="right">
   <mx:List width="100%" top="18" bottom="18" left="18" right="18" id="MTGpicsList" x="0"y="0" height="100%" variableRowHeight="true" editable="false" dataProvider="{chosenPics}"  doubleClick="gotoPic();" doubleClickEnabled="true" itemRenderer="MySumTileIR2"/>
</mx:Panel>

запустив это, я вижу текстовое поле, но не текстовое поле

1 Ответ

0 голосов
/ 14 ноября 2010

Какие у вас проблемы с этим?

Внутри createChildren () сделайте это:

var ta : spark.components.TextArea = new TextArea();
this.addChild(ta);

Я никогда не делал этого с Spark TextArea, но я сделал это с BorderContainer, и по большей части он работал хорошо. Я не мог заставить BorderContainer отображаться на UIComponent или Container, но он отлично работал на Canvas. Вы можете столкнуться с подобными проблемами с TextArea.

...