2009-04-25 2 views
0

ich Legenditem in eine Legende dynamisch (wie es sollte) Einsetzen des folgenden Code:Legenditem in Flex Orten horizontal nicht vertikal Hinzufügen

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); 
} 

Während die Legende Richtung als vertikale, all Elemente gesetzt erscheinen horizontal.

Sehr ärgerlich.

Antwort

0

Verwenden Sie den labelPlacement-Stil

0

Dies scheint ein Fehler zu sein. Die untergeordneten Elemente des Legend-Steuerelements werden falsch platziert, wenn Sie sie zur Laufzeit hinzufügen. Legen Sie die Richtung auf "horizontal" fest und die Elemente werden vertikal angezeigt. :-)

0

Ok, ich habe eine Lösung gefunden.

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

Und dann in der LegendPosition() Funktion:

  private function LegendPosition():void 
     { 

      nhLeg.direction="vertical"; 
     } 
Verwandte Themen