Программно обнаружение допустимых свойств стиля в Flex - PullRequest
1 голос
/ 09 июня 2010

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

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

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 09 июня 2010

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

MyButton.setStyle('qsfgaeWT','-33');
if (MyButton.getStyle('qsfqaeWT') == "-33") {
    // Not valid
} else {
    // valid
}
0 голосов
/ 09 июня 2010

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
...