我已经坚持这个问题几天了。解决方案似乎很简单,但我还没有找到。
我正在使用Flex 3,并且当它被禁用为更轻的东西时,我正在尝试更改ComboBox的颜色。目前的CSS是:
ComboBox {
color:#000000;
fillAphas: 1, .5, .55, .35;
fillColors: #ffffff, #cccccc, #999999, #666666;
fontWeight: normal;
backgroundAlpha: 1;
fontSize:11;
}
问题在于,当我使用backgroundDisabledColor属性时,启用的和禁用的组合框都会使用新颜色进行更改。有没有办法设置禁用的填充颜色属性,或以某种方式关闭组合框被禁用时填充颜色?感谢。
** 因为我无法直接使用css属性更改已禁用的组合框的填充颜色,并且flex 3不喜欢css属性选择器,我在禁用时添加了一个链接到外观的属性,并简单地使用较浅颜色的ComboBox外观。这似乎是最好的选择。谢谢你的帮助。
答案 0 :(得分:0)
您是否尝试过设置disabledColor style?
我非常确定通过在其上方绘制半透明图形来可视化地禁用组件。我不确定我是否建议尝试更改背景颜色以便在视觉上传达“已禁用”。
更改通用“ComboBox”样式将更改所有ComboBox。但是,您可以创建一个命名样式:
.disabledComboStyle {
color:#000000;
fillAphas: 1, .5, .55, .35;
fillColors: #ffffff, #cccccc, #999999, #666666;
fontWeight: normal;
backgroundAlpha: 1;
fontSize:11;
}
使用styleName样式在禁用的组件上指定它:
<mx:ComboBox styleName = "disabledComboStyle" />
然而,已知样式计算是一项性能繁重的操作,所以我不确定我是否建议这样切换样式。
答案 1 :(得分:0)
我不知道flex的属性是如何工作的,但是在您的情况下选择具有CSS的元素的一般规则如下:
ComboBox[attribute='value'] {
//the changed properties
}