我有一个复选框,不会呈现为复选框,并且会显示为类似于按钮的内容。但是,它的行为就像一个复选框,我可以选择它,处理程序可以使用触发事件。
这是我的复选框。我也在or之外尝试过,但它有相同的行为。与复选框或我正在处理的部分有关的无CSS 。我虽然使用 Flex 4.5 。
1-有人遇到过这样的问题吗?
2-有没有办法在容器和项呈示器中强制执行布局?
<mx:HBox>
<mx:CheckBox id="Test"
label="Label"
fontWeight="bold"
change="Test_changeHandler(event)"/>
</mx:HBox>
答案 0 :(得分:4)
如果您使用的是Flex 4.5,为什么使用Flex 3组件?将此更改为spark组件,一切都应该更好:
<s:HGroup>
<s:CheckBox id="Test"
label="Label"
fontWeight="bold"
change="Test_changeHandler(event)"/>
</s:HGroup>
答案 1 :(得分:3)
mx:CheckBox
扩展mx:Button
,因此,如果您添加了已加盖的mx:Button
的css,mx:CheckBox
也会获得它。这是flex 3皮肤的缺点。您可以通过明确设置mx:CheckBox
皮肤来解决此问题。
编辑:试试这个
<mx:HBox>
<mx:CheckBox id="Test"
label="Label"
fontWeight="bold"
skin="{mx.skins.spark.CheckBoxSkin}"
change="Test_changeHandler(event)"
/>
</mx:HBox>
答案 2 :(得分:1)
这也发生在我身上。修复是在弹出组件上使用mx:Container作为父级而不是FlexGlobals.application。
答案 3 :(得分:0)
第二个问题:
我有完全相同的问题,我强迫它采取“原始”皮肤:
var skinClass:Class = mx.skins.spark.CheckBoxSkin;
theCheckBoxInstance.setStyle("skin", skinClass);
因为在我的情况下,CheckBox是DataGrid的ItemRenderer,所以我在超级调用之后立即将它放在重写的createChildren方法中。
我没有解释为什么会这样。我在一个古老的怪物项目中遇到过它,我被指控做出一些改变......