Actionscript 3 RadioButtonGroup是否在组件中添加了每个RadioButton?
在Flex3中,我在画布上呈现了一系列组件,每个组件都应该表示一个潜在的选择,最好是在RadioButtonGroup中。因此,在我的父画布中,我定义了RadioButtonGroup,每个组件都提供一个RadioButton。然而,这似乎不起作用 假设有一个名为aComponent的组件被定义为:Actionscript 3 RadioButtonGroup是否在组件中添加了每个RadioButton?,actionscript-3,flex3,Actionscript 3,Flex3,在Flex3中,我在画布上呈现了一系列组件,每个组件都应该表示一个潜在的选择,最好是在RadioButtonGroup中。因此,在我的父画布中,我定义了RadioButtonGroup,每个组件都提供一个RadioButton。然而,这似乎不起作用 假设有一个名为aComponent的组件被定义为: <mx:Canvas ...> ... <mx:RadioButton id="someButton" groupName="myRadioButtonGroup" ... /
<mx:Canvas ...>
...
<mx:RadioButton id="someButton" groupName="myRadioButtonGroup" ... />
</mx:Canvas>
外部画布:
<mx:Canvas id="outerCanvas" ...>
...
<mx:Script>
public function doesSomething():void
{
var myComponent:aComponent = new aComponent();
outerCanvas.addChild(myComponent);
}
</mx:Script>
...
<mx:RadioButtonGroup id="myRadioButtonGroup" />
</mx:Canvas>
因此,我的猜测是,在这一点上,如果,比方说,添加了其中的四个组件,单选按钮将以互斥的方式运行,我将能够访问myRadioButtonGroup.selectedValue以获取当前选择。然而,它似乎不是这样工作的
我想做的是可能的,还是我错过了什么
谢谢 Edit-找到它的底部: radiobuttongroup对组件不可用。它的父级有“myRadioButtonGroup”,但没有组件。。将“myRadioButtonGroup”传递给构造函数并使用它 outerCanvas功能:
var myComponent:aComponent = new aComponent(myRadioButtonGroup);
A组件定义:
private var radioGroup:RadioButtonGroup;
function aComponent(radioGroup:RadioButtonGroup):void {
this.radioGroup = radioGroup;
}
</mx:Script>
<mx:RadioButton id="someButton" groupName="radioGroup" ... />
未经测试,但希望能给你一个想法组件实际上有更多的内容,它包括图像、文本、一些风格行为,并包含对另一个对象的引用。总体目标是制作一个屏幕,用户可以选择其中的一个,如果可能的话,我希望使用单选按钮来管理选择过程。我没有考虑过扩展RadioButtonGroup,但我不确定这是如何工作的。好吧,你想要的完全可以在画布元素中实现,只是你的RadioButtonGroup必须在该元素中。。所以画布>单选按钮组>单选按钮。你可以在组件中编写你想要的任何逻辑,但仍然可以访问组件radiobuttongroup。是的,这正是我所想的,至少我认为,我是这样在上面的伪代码中列出它的。不幸的是,它不起作用。有可能我错过了什么。你知道,在画布上还是可以的。你的问题是范围。在组件中,没有myRadioButtonGroup-这是mx.core.application.application的一部分。我不记得我头顶上新的flexglobals。您可以将myRadioButtonGroup传递给构造函数中的组件。