我有一个提示字符串显示在我的组合框 - 这需要显示在斜体。当用户从列表中进行任何选择时 - 我需要更改显示内容的样式。如何在运行时更改组合框的样式属性 - 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