Применение динамических стилей к скинам во Flex - PullRequest
0 голосов
/ 24 декабря 2009

У меня есть обложка для большого пальца полосы прокрутки, которую я хочу иметь возможность динамически стилизовать или устанавливать свойства.

<mx:Panel   
    verticalScrollBarStyleName="verticalScrollBarNoArrows">
</mx:Panel>

style.css

.verticalScrollBarNoArrows
{
    upArrowSkin:      ClassReference(null);
    downArrowSkin:  ClassReference(null);

    trackSkin:      ClassReference(null);
    thumbSkin:      ClassReference("skins.ScrollBarThumb"); 
}

ScrollBarThumb.as (фрагмент)

public class ScrollBarThumb extends Border
{
    [Bindable]
    private var cornerRadius:Number = 2;

    [Bindable]
    private var backgroundColor:uint = 0x222222;

    [Bindable]
    private var xOffset:int = -3;

Я хочу иметь возможность установить эти свойства в скине, чтобы стиль можно было по-разному стилизовать для каждого компонента, который его использует.

Как вы предлагаете мне это сделать?

1 Ответ

1 голос
/ 28 декабря 2009

Вы должны обычно устанавливать стили на скине как стили, а не свойства:

[Style(name="cornerRadius", type="Number", format="Length", inherit="yes")]

Тогда в updateDisplayList вы можете позвонить getStyle("cornerRadius"), когда будете рисовать скин.

...