是否有一种方法来启用和禁用标签栏中的特定选项卡?我发现了一个使用ViewStack内的VBox的例子,但我使用的是NavigatorContent。有什么建议吗?
谢谢,div标记
如果我没记错的话,如果你用' enable="false"来禁用NavigatorContent,它也会禁用标签页。
另一种方法是通过向ButtonTabBar发送一个自定义对象列表,该列表具有'enabled'属性,然后创建一个自定义按钮项渲染器,该渲染器在数据更改时启用/禁用。
我想这就是你想要的,我用这个来禁用TabbedViewNavigatorApplication标签栏中的按钮。
ButtonBarButton(this.tabbedNavigator.tabBar.dataGroup.getElementAt(0)).enabled = false;
ButtonBarButton(this.tabbedNavigator.tabBar.dataGroup.getElementAt(1)).enabled = true;
我在Adobe论坛上找到了一个解决方案-
我创建了一个新的TabBar皮肤(命名为"TabBarSkinWithDisabledTabs")。在其中,我更改了
<s:ButtonBarButton skinClass="spark.skins.spark.TabBarButtonSkin" />
到<s:ButtonBarButton skinClass="spark.skins.spark.TabBarButtonSkin" enabled="{data.enabled}" />
它适合我(Flex 4.5)。
主要代码: <s:TabBar id="theTabBar" change="theTabBar_changeHandler(event)" cornerRadius="4"
dataProvider="{vwStack}" skinClass="skins.TabBarWithDisabledTab"/>
<mx:ViewStack id="vwStack" width="100%" height="100%">
<s:NavigatorContent width="100%" height="100%" label="tab1">
<!-- irrelevant content here -->
</s:NavigatorContent>
<s:NavigatorContent width="100%" height="100%" label="tab2">
<!-- irrelevant content here -->
</s:NavigatorContent>
<s:NavigatorContent width="100%" height="100%" label="tab3" enabled="false">
<!-- irrelevant content here -->
</s:NavigatorContent>
</mx:ViewStack>
我有togglebuttonbar (flex3),我想做同样的事情,你要求
ButtonBarButton (togbar.getChildAt (0)) .enabled= true;.enabled ButtonBarButton (togbar.getChildAt (1))= true;.enabled ButtonBarButton (togbar.getChildAt (2))= false;
togbar是togglebuttonbar的"id",这样你就可以对按钮做任何你想做的事情。我希望这对你有帮助。
Ankur