【问题标题】:Flex 4.5 - Transparent Background on Spark DataGrid HeadersFlex 4.5 - Spark DataGrid 标头上的透明背景
【发布时间】:2011-10-05 15:24:53
【问题描述】:

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

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

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: apache-flex datagrid header transparent flex-spark


    【解决方案1】:

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

    您甚至不需要为数据网格制作皮肤。

    【讨论】:

      【解决方案2】:

      您应该查看 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>
      

      【讨论】:

      • 我该将皮肤应用于什么? Spark DataGrid 没有 headerSkinClassheaderStyleName 属性。
      猜你喜欢
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 2011-12-20
      • 2011-08-31
      • 2016-12-02
      • 2012-02-23
      • 2010-11-22
      • 1970-01-01
      相关资源
      最近更新 更多