سؤال

لديّ جلد لإبهام شريط التمرير الذي أريد أن أكون قادرًا على التصميم أو ضبط الخصائص ديناميكيًا.

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

أريد أن أكون قادرًا على ضبط هذه الخصائص في الجلد حتى يمكن تصميم الجلد بشكل مختلف لكل مكون يستخدمه.

كيف تقترح أن أفعل هذا؟

هل كانت مفيدة؟

المحلول

يجب عليك عادة ضبط الأنماط على الجلد كأنماط وليس كخصائص:

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

ثم في updateDisplayList تستطيع الاتصال getStyle("cornerRadius") عندما ترسم الجلد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top