Flex 4.5 — прозрачный фон в заголовках Spark DataGrid

Короче говоря, я пытаюсь получить этот результат:

Spark DataGrid

Я почти понял, но проблема заключается в том, чтобы сделать фон заголовка прозрачным. Я создаю собственный скин MXML на основе скина Spark DataGrid по умолчанию. Я попытался установить contentBackgroundAlpha в 0 для columnHeaderGroup и headerRenderer, но это не сработало. Я попытался установить для visible значение false для любого из них, но это сделало так, что текст тоже не отображался, так что это не сработало. Ни в одном из этих двух параметров для backgroundAlpha нет, поэтому я не уверен, что еще попробовать.

Любая помощь будет принята с благодарностью. Спасибо!


person Travesty3    schedule 14.07.2011    source источник


Ответы (2)


Скопируйте все из средства визуализации заголовков по умолчанию... затем удалите все, что говорит «s: Rect», затем установите это в качестве средства визуализации заголовков для каждого столбца. Вот код, который должен получиться в качестве средства визуализации заголовков: http://pastebin.com/XPu1cSK9

Вам даже не нужно делать скин для датагрида.

person Jonathan Rowny    schedule 14.07.2011

Вы должны смотреть на mx.skins.spark.DataGridHeaderBackgroundSkin

Что-то вроде этого должно помочь:

<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" 
minWidth="21" minHeight="19">

<fx:Script>
    /**
     * @private
     */
    override protected function initializationComplete():void
    {
        useChromeColor = true;
        super.initializationComplete();
    }
</fx:Script>

<s:Rect left="0" right="0" top="0" bottom="0" alpha="0">
</s:Rect>

<s:Rect left="0" right="0" top="0" bottom="0" alpha="0">
</s:Rect>

<s:Rect left="0" right="0" bottom="0" height="9" alpha="0">
</s:Rect>

<s:Rect left="0" right="0" top="0" height="9" alpha="0">
</s:Rect>

<s:Rect left="0" right="0" bottom="0" height="1" alpha="0">
</s:Rect>

</s:SparkSkin>
person Nate    schedule 14.07.2011
comment
К чему мне применить эту кожу? Spark DataGrid не имеет свойства headerSkinClass или headerStyleName. - person Travesty3; 15.07.2011