2011-07-14 65 views
0

總之透明背景,我試圖得到這樣的結果:的Flex 4.5 - 在星火DataGrid的頭

Spark DataGrid

我幾乎得到了它,但是這給了我麻煩的部分是標頭背景透明。我正在基於默認的Spark DataGrid外觀製作自定義的MXML外觀。我嘗試將columnHeaderGroup和headerRenderer上的contentBackgroundAlpha設置爲0,但這不起作用。我試圖設置visible爲其中任何一個爲假,但這使得文本也沒有出現,所以這是行不通的。 backgroundAlpha在這兩者中都沒有設置,所以我不知道還有什麼可以嘗試的。

任何幫助將不勝感激。謝謝!

回答

0

複製默認標題渲染器中的所有內容...然後刪除所有顯示爲「s:Rect」的內容,然後將其設置爲每列的標題渲染器。以下代碼應該以您的標題渲染器結束:http://pastebin.com/XPu1cSK9

您甚至不需要爲數據網格創建外觀。

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> 
+0

我怎麼申請是皮膚? Spark DataGrid沒有'headerSkinClass'或'headerStyleName'屬性。 – Travesty3