2009-12-24 40 views
0

我有一个用于滚动条的拇指皮肤,我希望能够动态地设置样式或设置属性。将动态样式应用到Flex中的皮肤

<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

你应该平时就皮肤样式没有属性中设置样式:

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

然后在updateDisplayList您可以拨打getStyle("cornerRadius")当你画在皮肤上。