2010-05-25 58 views
0

在Flex 3中工作時,我在畫布上呈現了一系列組件,每個組件都應該代表單個潛在選擇,理想情況下在RadioButtonGroup中。所以在我的父級畫布中,我定義了RadioButtonGroup,每個組件都提供了一個單獨的RadioButton。但是,這似乎並不奏效。RadioButtonGroup與組件中添加每個RadioButton?

假設有一個叫在aComponent定義爲這樣的部件:

<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以獲得當前選擇。但是,它似乎並沒有這樣工作。

我試圖做甚至可能,或者我可能錯過了什麼?

謝謝!

回答

0

編輯 - 得到了它的底部:

的RadioButtonGroup中是不可用的組件。這是有 'myRadioButtonGroup',而非組件..傳 'myRadioButtonGroup' 的構造和使用它..

outerCanvas功能:

var myComponent:aComponent = new aComponent(myRadioButtonGroup); 

在aComponent定義:

private var radioGroup:RadioButtonGroup; 
function aComponent(radioGroup:RadioButtonGroup):void { 
    this.radioGroup = radioGroup; 
} 
</mx:Script> 
<mx:RadioButton id="someButton" groupName="radioGroup" ... /> 

未經測試,但希望給你的想法

+0

組件實際上比它更多,它包括圖像,文本,一些樣式等式行爲,並持有對另一個對象的引用。總體目標是製作一個用戶可以從中選擇其中一個的屏幕,如果可能的話,我希望能夠使用RadioButton來管理選擇過程。雖然我沒有考慮擴展RadioButtonGroup,但我不確定我會看到如何工作。 – futureal 2010-05-26 00:05:15

+0

那麼你想要的是完全可以在一個畫布元素,這只是你的radiobuttongroup必須在那個元素..如此畫布> radiobuttongroup> radiobuttons。您可以在組件中編寫任何您想要的邏輯,並仍然可以訪問無線通訊組件。 – 2010-05-26 00:12:24

+0

是的,這正是我的想法(至少我認爲我是如何將它放在僞代碼中的)。不幸的是,它不工作。有可能我錯過了一些東西。 – futureal 2010-05-26 00:17:25

相關問題