StyleManager: вызов getStyleDeclaration после loadStyleDeclarations (Flex 3.5) - PullRequest
0 голосов
/ 09 февраля 2010

Приложение AIR имеет тему по умолчанию, скомпилированную в & themes, которая может быть загружена из внешних swfs (на основе css), которые переопределяют стандартную.

Вызывается StyleManager.loadStyleDeclarations с update = true, а затем вызывается getStyleDeclaration в обработчике StyleEvent.COMPLETE для диспетчера, возвращаемого loadStyleDeclarations. Ожидается, что он вернет объявление из новой загруженной темы, вместо этого получил объявление из темы по умолчанию.

Вопрос в том, в какой момент безопасно вызывать getStyleDeclaration после loadStyleDeclarations, чтобы получить объявления из загруженной темы? Есть ли какие-либо другие события, которые можно было бы прослушать (пока это не найдено в документации)?

1 Ответ

0 голосов
/ 09 февраля 2010

решаемая. Проблема была не с самим getStyleDeclaration, он возвращал правильный экземпляр CSSStyleDeclaration, но с тем фактом, что стили, загруженные в SWF на основе CSS, не имеют фабричной функции, используемой для получения всех файлов для селектора, просто защищенный объект переопределений, который может быть запрашивается с помощью getStyle. Я использовал CSSStyleDeclaration.factory для создания объектов StyleSheet во время выполнения. Он отлично работает на скомпилированных стилях. С загруженными стилями я должен использовать getStyle для объектов CSSStyleDeclaration, чтобы получить переопределенные стили по имени.

...