0

我已经被这个问题困扰了几天。解决方案似乎很简单,但我还没有找到。

我正在使用 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 皮肤颜色。这似乎是最好的选择。谢谢大家的帮助。

4

2 回答 2

0

您是否尝试设置 disabledColor样式

我很确定一个组件在视觉上被禁用了,通过在它上面绘制一个半透明的图形。我不确定我是否建议尝试更改背景颜色以便在视觉上传达“已禁用”。

更改通用“组合框”样式将更改所有组合框。但是,您可以创建一个命名样式:

.disabledComboStyle {
color:#000000;
fillAphas: 1, .5, .55, .35;
fillColors: #ffffff, #cccccc, #999999, #666666;
fontWeight: normal;
backgroundAlpha: 1;
fontSize:11;
}

并使用 styleName 样式在禁用的组件上指定它:

<mx:ComboBox styleName = "disabledComboStyle" />

但是,众所周知,样式计算是一项性能繁重的操作,所以我不确定我是否会推荐很多这样的切换样式。

于 2012-06-04T15:29:28.577 回答
0

我不知道 flex 的属性是如何工作的,但在您的情况下选择带有 CSS 的元素的一般规则如下:

ComboBox[attribute='value'] {
  //the changed properties
}
于 2012-06-04T15:30:30.057 回答