2011-12-30 90 views
1

我想使用CSS在Flex(v4.6)ColumnChart中设置该系列的填充颜色。我目前正在使用setStyle,因为我也设置了alpha值,但我知道这是相当资源密集的,所以我在考虑不设置alpha,只是使用CSS设置颜色。但是,我不能让它使用CSS声明是这样工作的:Flex ColumnSeries CSS填充不被应用

mx|ColumnSeries { 
fills: #FFCC33, #FF0033, #FF3333, #FF6633, #FF9933; 

它工作正常,如果我定义以下样式:

<fx:Style> 
     @namespace s "library://ns.adobe.com/flex/spark"; 
     @namespace mx "library://ns.adobe.com/flex/mx"; 

     .anotherColour { fill: #CCFFB3; } 

     .andAnotherColour { fill: #BBFF99; } 

    </fx:Style> 

和应用如下:

   <mx:ColumnSeries 
        xField="Month" 
        yField="Profit" 
        displayName="Profit" 
        styleName="anotherColour" 
        /> 
       <mx:ColumnSeries 
        xField="Month" 
        yField="Expenses" 
        displayName="Expenses" 
        styleName="andAnotherColour" 
        /> 

任何人都可以帮忙吗?

谢谢。担。

完整的代码示例不起作用:

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

    <fx:Style> 
     @namespace s "library://ns.adobe.com/flex/spark"; 
     @namespace mx "library://ns.adobe.com/flex/mx"; 

     mx|ColumnSeries { 
      fills: #CCFFB3, #BBFF99; 

     } 
    </fx:Style> 


    <fx:Script> 
     <![CDATA[ 
     import mx.collections.ArrayCollection; 
     [Bindable] 
     public var expenses:ArrayCollection = new ArrayCollection([ 
     {Month:"Jan", Profit:2000, Expenses:1500}, 
     {Month:"Feb", Profit:1000, Expenses:200}, 
     {Month:"Mar", Profit:1500, Expenses:500} 
     ]);]]> 
    </fx:Script> 
    <mx:Panel title="Column Chart"> 
     <mx:ColumnChart id="myChart" dataProvider="{expenses}" showDataTips="true"> 
      <mx:horizontalAxis> 
       <mx:CategoryAxis 
        dataProvider="{expenses}" 
        categoryField="Month" 
        /> 
      </mx:horizontalAxis> 
      <mx:series> 
       <mx:ColumnSeries 
        xField="Month" 
        yField="Profit" 
        displayName="Profit" 
        /> 
       <mx:ColumnSeries 
        xField="Month" 
        yField="Expenses" 
        displayName="Expenses" 
        /> 
      </mx:series> 
     </mx:ColumnChart> 
     <mx:Legend dataProvider="{myChart}"/> 
    </mx:Panel> 
</s:Application> 

回答

0

试试这个:

mx|ColumnSeries { 
       fills: [0xFFCC33,0xFF0033,0xFF3333,0xFF6633,0xFF9933]; 
      } 
+0

对不起,它不是这样的在所有。我想,因为它不是CSS。 – 2011-12-30 09:05:44

+1

嗨,定义在一个动作数组填充不起作用我害怕;项目不建立。 – 2011-12-30 09:44:35

0
mx|ColumnSeries 
{ 
    fills: #FFCC33,#FF0033,#FF3333,#FF6633,#FF9933; 
} 

试试这个,它应该工作