Добавление элементов LegendItems во Flex размещается горизонтально, а не вертикально (как и должно быть) - PullRequest
0 голосов
/ 25 апреля 2009

Я динамически вставляю LegendItems в легенду, используя следующий код:

signalLegend.removeAllChildren();
signalLegend.direction = "vertical";
for (var i:int = 0; i < numItems - 1; i++) {
    signalLegend.addChild(new LegendItem());
    legendItem = signalLegend.getChildAt(i) as LegendItem;
    legendItem.label = "Title here";
    legendItem.setStyle("fill", theColour);
}

Хотя направление легенды установлено как вертикальное, все элементы отображаются горизонтально.

Очень раздражает.

Ответы [ 3 ]

0 голосов
/ 18 марта 2010

Это похоже на ошибку. Дочерние элементы элемента управления Legend размещаются неправильно, если вы добавляете их во время выполнения. Установите направление на «горизонтальное», и элементы будут отображаться вертикально. : -)

0 голосов
/ 11 мая 2010

Хорошо, я нашел решение.

                <mx:Legend id="nhLeg"
                       updateComplete="LegendPosition()"
                       direction="vertical"
                       width="80%"/>

А затем в функции LegendPosition ():

            private function LegendPosition():void
        {

            nhLeg.direction="vertical";
        }
0 голосов
/ 01 июля 2009

использовать стиль labelPlacement

...