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

How do you set a class factory in CSS styles?

我在 CSS 中设置 Spark DataGrid 的项渲染器时遇到问题,然后我记得编译器为它创建了一个 class 工厂。

这 CSS 不起作用:

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

但是声明它是内联的:

<s:DataGrid itemRenderer="myItemRenderer" />

我找到了这段 setStyle 代码并将其放入构造函数中,但它不起作用:

    public function DataGrid() {
        super();

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

我创建了一个新控件,我想默认使用我的自定义渲染器。所以所有的样式都设置在defaults.css中。

我无法在 CSS 中为此 属性 设置 class 工厂。我认为 属性 需要是一个 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>