Если я хочу знать, имеет ли объект особое свойство, я могу кодировать это:
if (SomeObject.hasOwnProperty('xyz')) {
// some code
}
Но некоторые стили подменяют свойствами во время проектирования, такими как Button.color... Как я могу знать, какие свойства стиля допустимы во времени выполнения? т.е.: Каков эквивалент hasOwnProperty для getStyle/setStyle?
Другими словами, как я могу знать, имеет ли объект конкретную переменную стиля... Когда я пишу:
MyButton.setStyle('qsfgaeWT','-33');
Это ничего не выполнит, но это также не делает ошибки. Как я могу знать программно, что 'qsfgaeWT' НЕ является допустимым стилем 'Кнопки'??
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
setStyle
автоматически завершается ошибкой из-за недопустимых свойств стиля. Вы можете попробовать проверить свойство стиля после его установки:
MyButton.setStyle('qsfgaeWT','-33');
if (MyButton.getStyle('qsfqaeWT') == "-33") {
// Not valid
} else {
// valid
}