2012-08-27 41 views
0

我需要使用复选框作为单选按钮。 在我的情况下,我想定义一个复选框组,但我不知道为什么。 如果我选择一个复选框,我希望其他复选框取消选择flex复选框组

你能帮我吗?

感谢

+0

也许你需要使用RadioButton/RadioButtonGroup而不是Checkboxes? – JeffryHouser

+0

为什么你不重新使单选按钮看起来像复选框? – BadFeelingAboutThis

+2

@LondonDrugs_MediaServices建议绝对是最简单的解决方案。不过,从用户体验的角度来看,我认为这是一个非常糟糕的想法。用户期望带有子弹的这些圆形按钮以及带有ckeckmarks的这些方形按钮表现出某种特定的方式。如果你反过来,你会混淆它们。 – RIAstar

回答

1

如果您需要静态数量的单选按钮,则可以使用Spark状态。

<s:states> 
    <s:State name="check1"/> 
    <s:Stage name="check2"/> 
</s:States> 

<s:CheckBox selected="false" selected.check1="true" click="currentState='check1'"/> 
<s:CheckBox selected="false" selected.check2="true" click="currentState='check2'"/> 

当您单击第一个,它会触发中选择第一复选框为“check1”状态,另一种是未选中。点击第二个是相反的。显然,这不像有些人希望的那样灵活。但是,如果它是一个界面元素(如选项菜单),它是完美的。

如果您了解如何以及何时使用它们,各州将非常有用。在过去的这个周末,我创建了一个all-Flex slideshow,这是一个简单的小阵列功能强大的例子。

编辑:我只是扔在一起的一个简单的应用程序来测试这个,它看起来不会使用点击工作。不过,我相信你可以修补另一个事件来实现它。对不起,这没有奏效。

0

我会用RadioButton S,但如果你真的想这样做,我会拿LondonDrugs_MediaServices方法。

CheckBoxRadioButton都从ToggleButtonBase延伸。

创建您自己的CheckBoxRadioButtonSkin。将CheckBoxSkin复制到它并重命名hostComponent

然后在您的radioButton上使用此外观使其显示为复选框。

0

我以前有这样的要求,我用一个Datagrid和Checkbox里面的itemRenderer。

我对复选框进行了分类,覆盖了data吸气剂,这样每次点击时,都会取消选中Datagrid的所有项目,除他之外未选中。这种方法获得了一些优势:

  1. 灵活地增加编程选项的数量。
  2. 显示选项组的标题与否。
  3. 如果空间有限制,可以使用滚动条。

希望解决办法就是你要找的。