2009-09-30 18 views
14

我建立一個稍微大的Flex項目,包括幾個模塊(即產生多個主權財富基金單Flex項目)禁用Flex CSS類型選擇器警告?

現在,我有一個CSS文件,在主SWF標籤加載:

<s:Application ... > 
    <fx:Style source="css/main.css" /> 
... 
</s:Application> 

在CSS文件:

/* CSS file */ 
@namespace s "library://ns.adobe.com/flex/spark"; 

s|Panel { 
    skinClass: ClassReference("com.skins.DefaultPanelSkin"); 
} 

s|Button { 
    skinClass: ClassReference("com.skins.DefaultButtonSkin"); 
} 

CSS文件是不是其他地方引用。

我目前有6個模塊(加上主SWF,共7個SWF)。我注意到警告的數量與模塊的數量有關......每次添加模塊時,我都會收到更多警告。現在,我得到6個警告,在CSS文件中的每個條目,所以:

CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 

,並重覆按鈕,文本區域,等等等等,我有這麼多無用的警告,這是不可能,看看是否有任何有效的。

這個警告是由我做錯了什麼事引起的嗎?樣式都被正確地應用,並且似乎按照我在運行時需要的方式工作。如果我沒有做錯什麼,我可以告訴編譯器忽略這個警告嗎?

注:我試過-show-unused-type-selector-warnings=false編譯器標誌,它不起作用...這是一個類似但不同的警告。

+0

在編譯時添加賞金... 161警告簡直難以管理。我可以生成一個剝離Flex Builder項目的樣例,如果有人願意,可以生成此問題。 – davr 2009-10-02 19:57:06

回答

1

問題是,您無法在加載的模塊中定義全局樣式。您可以使用特定的樣式名的模塊標記和使用後代在你的CSS的樣式應用到子組件:

<mx:Module styleName='mySubStyle' .../> 

,並在CSS中使用:

.mySubStyle s|Panel { color: #FF0000; } 
+1

我沒有在加載的模塊中定義全局樣式,我在我的主,根,父,非模塊SWF中定義它。這是我參考CSS文件的唯一地方...沒有任何模塊有