2010-09-30 9 views
0

Je reçois l'erreur "Les déclarations de composants ne sont pas autorisées ici" où se trouve mon RadioButtonGroup. Voici le composant personnalisé. Pourquoi ne puis-je pas mettre un RadioButtonGroup dans celui-ci?Flex3: Les déclarations de composants ne sont pas autorisées ici Erreur

<?xml version="1.0" encoding="utf-8"?> 
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"> 
<mx:Script> 
    <![CDATA[ 

     import mx.controls.RadioButton; 
     import mx.controls.RadioButtonGroup; 


     public function removeMe(event:MouseEvent):void { 
      this.removeChild(event.currentTarget as DisplayObject); 

     } 
    ]]> 
</mx:Script> 

    <mx:Panel width="500" height="400" title="hello" click="removeMe(event)"> 


     <mx:Text text="My Text" /> 

     <mx:RadioButtonGroup> 
      <mx:RadioButton label="A"/> 
      <mx:RadioButton label="B"/> 
      <mx:RadioButton label="C"/> 
     </mx:RadioButtonGroup> 


    </mx:Panel> 
</mx:Canvas> 

Un conseil pour résoudre ce problème. J'utilise Flex 3, SDK 3.2.

Merci.

-Laxmidi

Répondre

2

A RadioButtonGroup n'est pas un récipient et ne peut donc pas les enfants de la manière que vous êtes mise en place. Ajoutez un RadioButton à un groupe à l'aide de la propriété groupName sur l'occurrence RadioButton. Comme ceci:

<mx:RadioButtonGroup id="rbg" /> 
    <mx:RadioButton label="A" groupName="rbg"/> 
    <mx:RadioButton label="B" groupName="rbg"/> 
    <mx:RadioButton label="C" groupName="rbg"/> 
+0

Salut www.Flextras.com, Merci pour votre message. J'étais sur le point de répondre à ma propre question, mais tu m'as battu! ;) J'ai trouvé le point que vous avez mentionné ci-dessus sur le fait qu'il ne s'agit pas d'un conteneur juste avant de retourner à Stack Overflow. Je n'utilise pas du tout le mode design. Mais, j'ai essayé de faire glisser un RadioButtonGroup en mode design et j'ai vu qu'il n'emballait pas les RadioButtons. Encore une fois, merci pour votre aide très généreuse. – Laxmidi

+0

Je suis heureux d'aider; et heureux que vous ayez trouvé la solution vous-même. (Vous vous souviendrez plus longtemps de cette façon) – JeffryHouser