2012-09-20 25 views

回答

1

下面的代碼可以給你一些想法....

<?xml version="1.0"?> 
<s:Application 
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx"> 

    <s:layout> 
     <s:VerticalLayout/> 
    </s:layout> 

    <fx:Script> 
     <![CDATA[   

      [Bindable] 
      private var initialDisplayText:String = "1\n2\n3\n4\n5\n6\n7\n8"; 

      private var maxLines:int = 8; 

      private function arrangeTextHandler(event:KeyboardEvent):void 
      { 
       var count:int = 0; 
       var displayString:String = ""; 
       var arrayTemp:Array = new Array(); 

       if(event.target.content.mxmlChildren.length > maxLines) 
       { 
        for(var i:int = event.target.content.mxmlChildren.length-1; 0 <= i ; i--) 
        { 
         for(var j:int = event.target.content.mxmlChildren[i].mxmlChildren.length-1; 0 <= j ; j--) 
         { 
          if(maxLines > count) 
          { 
           arrayTemp.push(event.target.content.mxmlChildren[i].mxmlChildren[j].text); 
           count ++; 
          } 
         } 
        } 

        arrayTemp.reverse(); 
        for (var k:int=0; k<arrayTemp.length ;k++) 
        { 
         if(arrayTemp.length-1 != k) 
          displayString += arrayTemp[k] + "\n"; 
         else 
          displayString += arrayTemp[k]; 
        } 

        arrayTemp = null; 
        initialDisplayText = displayString; 
        myTextArea.invalidateProperties(); 
       } 
      } 

      private function onKeyEventDown(e:KeyboardEvent):void 
      { 
       if(myTextArea.textFlow.flowComposer.numLines > maxLines) 
       { 
        arrangeTextHandler(e) 
       } 
      } 

     ]]> 
    </fx:Script> 

    <s:TextArea id="myTextArea" text="{initialDisplayText}" 
       keyUp="onKeyEventDown(event)" height="500" width="100" x="50" y="50"/> 

</s:Application> 
0

根據this,沒有這樣的屬性。您必須創建自己的組件 從TextArea派生。

相關問題