我有一個提示字符串顯示在我的組合框 - 這需要顯示在斜體。當用戶從列表中進行任何選擇時 - 我需要更改顯示內容的樣式。如何在運行時更改組合框的樣式屬性 - textInputStyleName?
我的CSS文件:
.promptStyle
{
fontStyle: italic;
}
ComboBox.withPrompt
{
color: #FF0000;
fontWeight: normal;
textInputStyleName: promptStyle;
}
.regularStyle
{
fontStyle: normal;
}
ComboBox.withoutPrompt
{
color: black;
fontWeight: normal;
textInputStyleName: regularStyle;
}
我的MXML文件:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
minWidth="955" minHeight="600" initialize="init()">
<mx:Script>
<![CDATA[
[Bindable]
private var content:Array=new Array("Red", "Blue", "Green");
private function init():void {
StyleManager.loadStyleDeclarations("combos/combo_style.swf");
}
private function changeStyle():void {
var index:int = promptBox.selectedIndex;
if(index != -1)
promptBox.setStyle("styleName","withoutPrompt");
}
]]>
</mx:Script>
<mx:ComboBox id="promptBox" prompt="Select a color" dataProvider="{content}"
styleName="withPrompt" change="changeStyle()"/>
</mx:Application>
我能看到的風格變化發生,因爲顏色的變化;但特定於textInputStyleName的更改未得到應用。任何幫助,將不勝感激。
不是我的專業領域。它看起來並不像你有這個設置正確的,但。您不希望將styleName更改爲字符串。你想改變它的CSS參考。嘗試從setStyle方法中刪除引號:promptBox.setStyle(「styleName」,withoutPrompt); – JeffryHouser 2011-03-18 13:13:23