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