简而言之,我试图得到这个结果:
我几乎得到了它,但是给我带来麻烦的部分是使标题背景透明。我正在基于默认的Spark DataGrid外观制作自定义MXML外观。我尝试在columnHeaderGroup和headerRenderer上将contentBackgroundAlpha
设置为0,但这不起作用。我尝试将visible
设置为false,但是这样做使得文本也没有出现,所以这不起作用。在这两者中都没有backgroundAlpha
的设置,所以我不确定还有什么可以尝试。
非常感谢任何帮助。谢谢!
答案 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>