Программно обнаруживающие свойства допустимого стиля в Flex

Если я хочу знать, имеет ли объект особое свойство, я могу кодировать это:

if (SomeObject.hasOwnProperty('xyz')) {
  // some code
}

Но некоторые стили подменяют свойствами во время проектирования, такими как Button.color... Как я могу знать, какие свойства стиля допустимы во времени выполнения? т.е.: Каков эквивалент hasOwnProperty для getStyle/setStyle?

Другими словами, как я могу знать, имеет ли объект конкретную переменную стиля... Когда я пишу:

MyButton.setStyle('qsfgaeWT','-33');

Это ничего не выполнит, но это также не делает ошибки. Как я могу знать программно, что 'qsfgaeWT' НЕ является допустимым стилем 'Кнопки'??

1
задан Joshua 8 June 2010 в 22:17
поделиться

2 ответа

displayObject - это кнопка, добавленная в сцену.

var value:* = displayObject.getStyle("borderColor");
trace( StyleManager.isValidStyleValue(value).toString() );  // outputs true
value = displayObject.getStyle("qwerty");
trace( StyleManager.isValidStyleValue(value).toString() );  // outputs false
value = displayObject.getStyle("color");
trace( StyleManager.isValidStyleValue(value).toString() );  // outputs true
0
ответ дан 2 September 2019 в 23:56
поделиться

setStyle автоматически завершается ошибкой из-за недопустимых свойств стиля. Вы можете попробовать проверить свойство стиля после его установки:

MyButton.setStyle('qsfgaeWT','-33');
if (MyButton.getStyle('qsfqaeWT') == "-33") {
    // Not valid
} else {
    // valid
}
2
ответ дан 2 September 2019 в 23:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: