Pour ceux qui veulent une réponse fonctionnelle pour Flex 4.5 (probablement aussi Flex 4). J'ai finalement trouvé une solution. Cela ressemble à un hack pour moi, mais Adobe ne répond pas à l'appel et ça marche pour moi. Voici un exemple simplifié.
<!-- component that has the the TabBar in it... -->
<fx:Script>
<![CDATA[
//imports here
import mx.core.UIComponent;
//imports
private function setTabEnabled(index:int,enabled:Boolean):void{
var theTab:UIComponent = theTabBar.dataGroup.getElementAt(index) as UIComponent;
if(theTab){theTab.enabled = enabled;}
}
]]>
</fx:Script>
<s:TabBar id="theTabBar"
dataProvider="{viewStack}"/>
<mx:ViewStack id="viewStack">
<s:NavigatorContent label="0th Tab">
<!-- ...Content -->
</s:NavigatorContent>
<s:NavigatorContent label="1st Tab">
<!-- ...Content -->
</s:NavigatorContent>
<s:NavigatorContent label="2nd Tab">
<!-- ...Content -->
</s:NavigatorContent>
</mx:ViewStack>
<!-- rest of the component that has the the TabBar in it... -->
Ensuite, vous appelez simplement setTabEnabled(theTabIndex,trueFalse)
dans un gestionnaire d'événement lié à tout ce qui décide pourquoi l'onglet est, ou non, activé. Étendre le TabBar pour supporter cela, mais j'ai déjà passé assez de temps à essayer de le comprendre.
Codage heureux = D
parce que l'exigence est plus complexe que cela. goulot d'étranglement est je ne sais pas comment itérer sur les onglets dans la barre d'onglets. –