flex flex4 tabnavigator

TabNavigator no puede manejar hijos discapacitados en Flex 4.5



flex4 (1)

Tengo un problema al migrar mi TabNavigator de Flex 3 a Flex 4.5. Desnudado al mínimo, el siguiente código producirá el error, a saber, que el segundo hijo del TabNavigator no se crea correctamente:

<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" > <fx:Script> <![CDATA[ protected function over():void { trace(''over''); } protected function content_one_init():void { content_one.enabled = true; navigator.selectedIndex = 1; } ]]> </fx:Script> <mx:TabNavigator id="navigator" creationPolicy="auto" width="100%" height="100%" > <mx:VBox id="content_one" enabled="false" creationComplete="content_one_init()" label="One" mouseOver="over()" /> <mx:VBox label="Two"> <mx:Label text="Content Two" /> </mx:VBox> </mx:TabNavigator> </s:Application>

Lo que veo, después del lanzamiento, es un TabNavigator con su segunda pestaña seleccionada pero sin contenido en lugar de la etiqueta esperada "Contenido Dos". El navigator.selectedIndex = 1; la instrucción está ahí solo para mayor comodidad, el error aparece también si selecciona la segunda pestaña con el mouse después del lanzamiento.

Ahora viene la parte divertida: si hago algo de lo siguiente, se crea el segundo niño:

  • establece creationPolicy="all" en content_one (esto es esperado),
  • comentario content_one.enabled = true ,
  • remove enabled="false" en content_one,
  • elimine mouseOver="over()" de content_one (este es realmente muy extraño, ya que el manejador nunca se llama de todos modos)

¿Es esto realmente un error de Flex, o hay algo que me falta? Estoy usando Flex 4.5.0.20967, y todo esto funcionó bien en Flex 3.5.

Gracias.