Flex4 - 在外部设置itemRenderer渲染器的属性
作者:hangge | 2015-02-02 14:01
通过itemRenderer渲染器可以很方便的设置列表,表格等的条目样式。
有时如果想要在外部设置修改渲染器的属性,比如有一个渲染器想给两个组件使用,通过渲染器内部某个属性来判断是那个组件,这时就需要现在外部给该渲染器设置个属性。具体做法如下:

有时如果想要在外部设置修改渲染器的属性,比如有一个渲染器想给两个组件使用,通过渲染器内部某个属性来判断是那个组件,这时就需要现在外部给该渲染器设置个属性。具体做法如下:
--- 主页面 ---
--- 渲染器 MyItemRenderer.mxml ---
效果图如下:
<?xml version="1.0" encoding="utf-8"?>
<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"
creationComplete="init(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function init(event:FlexEvent):void
{
var factory:ClassFactory = new ClassFactory(MyItemRenderer);
factory.properties={type:"外部设置"};
list.itemRenderer = factory;
}
]]>
</fx:Script>
<fx:Declarations>
<s:ArrayList id="myData">
<fx:Object text="项目1"/>
<fx:Object text="项目2"/>
<fx:Object text="项目3"/>
</s:ArrayList>
</fx:Declarations>
<s:List id="list" dataProvider="{myData}" labelField="text" x="10" y="10"/>
</s:Application>
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
autoDrawBackground="true">
<fx:Script>
<![CDATA[
[Bindable]
public var type:String = "";
]]>
</fx:Script>
<s:Label text="{type} {data.text}"/>
</s:ItemRenderer>

全部评论(0)