I have a component which can appear initially in one of two states, and
can subsequently be switched between them.  When this switch takes place,
I want a transition to occur.  Here's a tiny model of my component:

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml";>
  <mx:states>
    <mx:State name="state1">
      <mx:AddChild>
        <mx:HBox>
          <mx:Text id="text1" text="t1:"/>
          <mx:Text id="text2" text="t2:"/>
        </mx:HBox>
      </mx:AddChild>          
    </mx:State>
  </mx:states>    
  <mx:transitions>
    <mx:Transition>
      <mx:Move targets="{[text1, text2]}"/>
    </mx:Transition>
  </mx:transitions>
</mx:Canvas>

If I embed this component (call it MyComp) like this:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";>
  <view:MyComp currentState="state1"/>
</mx:Application>

the transition takes place as the component appears, and everything is
fine.  But if I put it inside a FormItem, like this:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";>
  <mx:Form>
    <mx:FormItem label="Type">
      <view:SectionTypeControl currentState="taskQueue"/>
    </mx:FormItem>
  </mx:Form>
</mx:Application>

the transition never takes place and the two labels remain superimposed.

In fact the problem is a little worse than this.  In the toy
application above, you can replace FormItem by a container like HBox
and it works again.  But in my real app I can't use it inside a Form
at all.  What gives?

Maurice

Reply via email to