Смещение содержимого панели со скелетом в Flex 3

Вот в чем проблема. Я создал собственный RectangularBorder и установил его в качестве обложки для TitleWindow. После этой манипуляции внутреннее содержимое окна начинается с 0,0 его точки. Как мне установить смещение?

Простая установка верхнего отступа не работает, потому что после этой манипуляции полоса прокрутки по-прежнему начинается с верхней части окна.


person Artem Tikhomirov    schedule 05.09.2009    source источник


Ответы (3)


Существует множество проблем с попытками обложки панелей в Flex 3, и TitleWindow наследуется от Panel.

Это лучшее объяснение, которое я видел. (Я не тот Гленн, о котором говорится курсивом :)).

person Glenn    schedule 05.09.2009

Для программного скина все вышло довольно просто. Для этого нужно переопределить функцию get borderMetrics:

public override function get borderMetrics():EdgeMetrics
{
    var borderThickness:Number = getStyle("borderThickness");
    var cornerRadius:Number = getStyle("cornerRadius");         
    var headerHeight:Number = getStyle("headerHeight");

    return new EdgeMetrics(
        borderThickness,  
        borderThickness + headerHeight,
        borderThickness,
        borderThickness);           
 }
person Artem Tikhomirov    schedule 09.09.2009
comment
Хотелось бы, чтобы это было ясно из документации! Большое спасибо Артему. - person quoo; 27.10.2009
comment
Да, я тоже. В последнее время я стал гораздо чаще читать их код, тонко читаю их документацию. Это грязнее, но помогает. - person Artem Tikhomirov; 28.10.2009

попробуйте использовать padding-top, padding-left и т. д. в качестве стиля для вашего TitleWindow

person Adrian Pirvulescu    schedule 05.09.2009