Flex 4 - 如何在tabBar中启用/禁用某些选项卡

时间:2011-04-19 16:54:26

标签: flex flex4 tabbar

有没有办法在tabBar中启用和禁用特定标签?我在ViewStack中找到了一个使用VBox的例子,但我使用的是NavigatorContent。有什么建议吗?

谢谢, 标记

4 个答案:

答案 0 :(得分:2)

如果我没记错的话,如果你用`enable =“false”禁用NavigatorContent,它也会禁用该标签。

另一种方法是向ButtonTabBar发送一个自定义的对象列表,该列表具有“enabled”属性,然后创建一个自定义按钮项呈示器,在数据更改时启用/禁用。

答案 1 :(得分:1)

我认为这就是你要找的东西,我用它来禁用TabbedViewNavigatorApplication TabBar中的按钮。

    ButtonBarButton(this.tabbedNavigator.tabBar.dataGroup.getElementAt(0)).enabled = false;
    ButtonBarButton(this.tabbedNavigator.tabBar.dataGroup.getElementAt(1)).enabled = true;

答案 2 :(得分:0)

我在the Adobe Forums -

找到了解决方案

我创建了一个新的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>

答案 3 :(得分:-1)

我有togglebuttonbar(flex3),我想做你要求的同样的事情

  

启用ButtonBarButton(togbar.getChildAt(0))。   =真;启用ButtonBarButton(togbar.getChildAt(1))。   =真; (togbar.getChildAt(2))启用ButtonBarButton。   = false;

其中togbar是togglebuttonbar的“id”,所以这样你可以做任何你想做的按钮, 我希望这会有所帮助

ANKUR