Учитывая пользовательский компонент, основанный на SkinnableContainer, как я могу установить значения в скине во время выполнения? В частности, это компонент доски с значениями maxWidth и maxHeight, которые указывают наименьшую общую ширину / высоту среди всех досок в диалоге.
[Bindable]
public var maxWhiteBoardWidth:Number;
[Bindable]
public var maxWhiteBoardHeight:Number;
Эти значения используются для рисования указателей на поверхности всех больших досок в разговоре с использованием штриховых линий в скине:
<!-- smallest common denominator boundaries -->
<s:Line left="300" top="0" bottom="0">
<s:stroke>
<s:SolidColorStroke weight="1" color="0xFFFFFF" />
</s:stroke>
</s:Line>
<s:Line top="300" left="0" right="0">
<s:stroke>
<s:SolidColorStroke weight="1" color="0xFFFFFF" />
</s:stroke>
</s:Line>
Значение 300 в атрибутах top
и left
s:Line
не должно быть жестко закодировано в скине. Они должны отражать изменяющиеся значения maxWhiteBoardWidth / maxWhiteBoardHeight от компонента.
Я устанавливаю обложку с помощью атрибута skinClass
в MXML. Нужно ли динамически загружать скин? Если да, когда и как в жизненном цикле?
Я недавно пришел из Flex 3, так что архитектура скинов Spark все еще немного мутная. Спасибо.