嵌套ListBase / itemRenderer?

时间:2011-08-06 12:47:20

标签: flex4 itemrenderer flex-spark

我在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>

1 个答案:

答案 0 :(得分:3)

您正在使用<s:ItemRenderer>(因此它是ItemRenderer类的实例,已分配给ListBase的默认属性dataProvider)。我想这是错误的,你将在外部列表中使用属性<s:itemRenderer>。看看第一个字母的情况。在ActionScript中,所有类都以大写字母开头。