如何使用Flex更改TileList所选项目中的样式?

时间:2010-02-26 05:38:30

标签: flex flex3

我的TileList包含一些文本框。我想更改文本颜色,如果它被选中。 请任何人帮助我..谢谢

1 个答案:

答案 0 :(得分:2)

测试一下,这应该可以解决问题。有一个自定义渲染器显示如何选择项目。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
 xmlns:mx="http://www.adobe.com/2006/mxml">

 <mx:TileList id="tileList">
  <mx:dataProvider>
   <mx:ArrayCollection>
    <mx:Object text="one text"/>
    <mx:Object text="two text"/>
    <mx:Object text="three text"/>
   </mx:ArrayCollection>
  </mx:dataProvider>
  <mx:itemRenderer>
   <mx:Component>
    <mx:Canvas horizontalScrollPolicy="off" verticalScrollPolicy="off"
     updateComplete="updateTextColor()">
     <mx:Script>
      <![CDATA[
       import mx.controls.TileList;

       public var selectedColor:uint = 0xff0000;
       public var normalColor:uint = 0xaaaaaa;

       protected function updateTextColor():void
       {
        var selected:Boolean = TileList(this.owner).isItemSelected(this.data);
        var color:uint = selected ? selectedColor : normalColor;
        textArea.setStyle('color', color);
       }
      ]]>
     </mx:Script>
     <mx:TextArea id="textArea"
      text="{data.text}"/>
    </mx:Canvas>
   </mx:Component>
  </mx:itemRenderer>
 </mx:TileList>

</mx:Application>

最佳, 兰斯