如何在CSS样式中设置类工厂?

时间:2016-02-07 09:50:36

标签: flex flex-spark

我一直无法在CSS中设置Spark DataGrid的项呈示器,然后我记得编译器为它创建了一个类工厂。

这个CSS不起作用:

.myGrid {
    itemRenderer: ClassReference("myItemRenderer");
}

但声明内联它确实:

<s:DataGrid itemRenderer="myItemRenderer" />

我发现了这个setStyle代码并将其放在构造函数中但它不起作用:

    public function DataGrid() {
        super();

        setStyle("itemRenderer", new ClassFactory(myItemRenderer));
    }

我创建了一个新控件,我希望将自定义渲染器用作默认值。因此所有样式都在defaults.css中设置。

1 个答案:

答案 0 :(得分:0)

我无法在CSS中为此属性设置类工厂。我认为该属性需要是一个IFactory并定义为一种风格。

我可以使用DataGrid设置项呈示器。我可以使用:

在构造函数中设置它
public function DataGrid() {
    super();

    itemRenderer = new ClassFactory(myItemRenderer);
}

或在DataGrid皮肤中:

<s:Scroller id="scroller" minViewportInset="1" hasFocusableChildren="false" height="100%">
    <!--- @private -->
    <s:Grid id="grid" itemRenderer="MyGridItemRenderer">

    </s:Grid>                    
</s:Scroller>