Flex 4.5 - Spark DataGrid标头上的透明背景

时间:2011-07-14 19:23:12

标签: flex datagrid header transparent flex-spark

简而言之,我试图得到这个结果:

Spark DataGrid

我几乎得到了它,但是给我带来麻烦的部分是使标题背景透明。我正在基于默认的Spark DataGrid外观制作自定义MXML外观。我尝试在columnHeaderGroup和headerRenderer上将contentBackgroundAlpha设置为0,但这不起作用。我尝试将visible设置为false,但是这样做使得文本也没有出现,所以这不起作用。在这两者中都没有backgroundAlpha的设置,所以我不确定还有什么可以尝试。

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

从默认标题渲染器中复制所有内容...然后删除所有显示“s:Rect”的内容,然后将其设置为每列的标题渲染器。以下是您最终应该作为标题渲染器使用的代码:http://pastebin.com/XPu1cSK9

您甚至不需要为数据网格创建外观。

答案 1 :(得分:0)

你应该看看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>