我在XAML / WPF方面非常有经验,但我是Flex / Flex4的新手。我正在尝试使用ListBase和内联ItemRenderers构建一个动画对象列表,其中包含动画的子列表。有人可以解释为什么内部ListBase给我以下错误,而外部列表没有?
'spark.components.supportClasses.ItemRenderer' is not assignable to the default property, 'dataProvider', of type 'mx.collections.IList'.
源代码:
<s:ListBase dataProvider="{AnimationList}">
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<s:VGroup>
<s:Label id="labelDisplay" text="{data.Name}"/>
<s:ListBase dataProvider="{data.Animations}">
<s:ItemRenderer>
<fx:Component>
<s:ItemRenderer>
<s:HGroup>
<mx:Button label="play" />
<mx:Label text="{data.Name}"/>
</s:HGroup>
</s:ItemRenderer>
</fx:Component>
</s:ItemRenderer>
</s:ListBase>
</s:VGroup>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:ListBase>
答案 0 :(得分:3)
您正在使用<s:ItemRenderer>
(因此它是ItemRenderer
类的实例,已分配给ListBase
的默认属性dataProvider
)。我想这是错误的,你将在外部列表中使用属性<s:itemRenderer>
。看看第一个字母的情况。在ActionScript中,所有类都以大写字母开头。