Как установить фабрику классов в стилях CSS?

У меня были проблемы с настройкой средства визуализации элементов Spark DataGrid в CSS, а затем я вспомнил, что компилятор создает для него фабрику классов.

Этот CSS не работает:

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

но объявляя это встроенным, это делает:

<s:DataGrid itemRenderer="myItemRenderer" />

я нашел это setStyle код и положить его в конструктор, но он не работает:

    public function DataGrid() {
        super();

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

Я создал новый элемент управления и хочу использовать свой пользовательский рендерер по умолчанию. Таким образом, все стили установлены в defaults.css.

1 ответ

Решение

Я не могу установить фабрику классов в 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>
Другие вопросы по тегам