Flash “我的项目渲染器找不到属性”;数据。”;

Flash “我的项目渲染器找不到属性”;数据。”;,flash,apache-flex,button,adobe,itemrenderer,Flash,Apache Flex,Button,Adobe,Itemrenderer,我正在尝试为我的列表创建一个自定义按钮渲染器,它一直在说未识别的属性“数据” 渲染器: <?xml version="1.0" encoding="utf-8"?> <s:Button xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"

我正在尝试为我的列表创建一个自定义按钮渲染器,它一直在说未识别的属性“数据”

渲染器:

<?xml version="1.0" encoding="utf-8"?>
<s:Button xmlns:fx="http://ns.adobe.com/mxml/2009" 
          xmlns:s="library://ns.adobe.com/flex/spark" 
          xmlns:mx="library://ns.adobe.com/flex/mx" label="{data.label}">
</s:Button>

我可能做错了什么?

s:按钮是否具有名为data的属性

让渲染器扩展ItemRenderer类

渲染器应如下所示:

<?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" >
<s:Button label="{data.label}">
</s:ItemRenderer>

火花按钮不实现IDataRenderer界面


您可以轻松地将按钮放置在ItemRenderer类中以访问该接口,或者可以创建一个新的项目渲染器类来扩展按钮并实现IDataRenderer

默认情况下,Spark组件没有数据属性。要将组件用作索引器,它应该实现spark按钮没有的接口

[Bindable]
private var navigation:ArrayCollection = new ArrayCollection([
    {label:"Home",state:"Home"},{label:"Tools",state:"Tools"}
]);
<?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" >
<s:Button label="{data.label}">
</s:ItemRenderer>