У меня есть различные компоненты, которые обрабатываются через программный скин. Класс skin ссылается на одноэлементный класс, который содержит различные цвета для применения к различным аспектам компонента. Класс синглтона имеет цвета по умолчанию, настроенные на вариации черного / серого и т. Д. Я загружаю пользовательские цвета из файла XML, который затем загружается в синглтон. Я применяю пользовательский скин через таблицу стилей CSS, которая включена в основной mxml приложения.
Проблема заключается в том, что при начальной загрузке SWF компоненты, отображаемые на экране, являются черными и не отражают изменения цвета, загруженные из файла XML. У меня есть несколько выпадающих окон, которые отображаются при нажатии кнопок, и эти выпадающие списки отражают правильные цвета из файла XML. Таким образом, система работает правильно, но начальное рисование компонентов, очевидно, происходит до того, как XML загружен и применен к одиночному.
У меня вопрос: есть ли способ применить скин к элементу программно, вызвав конструктор?
У меня есть это в моем файле CSS:
.PanControlsBackground {
borderSkin:ClassReference('skins.buttons.PanControlsBackground');
}
и я применяю класс с этим:
_app.panControls.styleName = "PanControlsBackground";
Есть ли способ позвонить:
_app.panControls.styleName = new PanControlsBackground();
или что-то на этот счет? Таким образом, я могу удалить загрузку скинов в файле css и контролировать, когда они создаются, чтобы обеспечить применение правильных цветов перед отображением различных компонентов.