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

问题描述:

有没有办法启用和禁用tabBar中的特定选项卡?我在ViewStack中发现了一个使用VBox的例子,但我使用了NavigatorContent。有什么建议么?Flex 4 - 如何启用/禁用tabBar中的某些选项卡

谢谢, 马克

+0

你能指出你已经找到的例子吗?还有一些代码示例会很好。听起来就像你的混合MX和Spark,但我不确定如何,它会有助于回答这个问题,也可能有一个更简单的解决方案,使用Spark ButtonBar(我实际上恰好在此时正在玩弄这个,决定弹出开放堆栈溢出) – shaunhusain 2011-04-19 16:58:57

+0

类似的问题作为http://*.com/questions/4539000/flex-4-tabbar-disable-tab – michael 2012-03-16 01:08:26

如果我没记错的话,如果你用`启用=“假”,将禁用选项卡,以及禁用NavigatorContent。

做的另一种方式是通过发送ButtonTabBar对象的自定义列表它有一个“启用”属性,然后创建一个自定义按钮项目渲染启用/禁用的数据发生变化时。

+0

在Flex 4中,它只禁用了NavigationContent部分,而不是TabBar的选项卡。 – 2011-04-20 17:50:53

+0

哦,对,就是TabNavigator,而不是ViewStack和ButtonTabBar。我的错。然后我会使用项目渲染器的方法。您将返回的数据应该是实际的NavigatorContent。只需要将数据的启用属性绑定到项目渲染器的启用属性。 – 2011-04-20 17:54:04

我有togglebuttonbar(flex3),我想要做的其中U [R要求

同样的事情

ButtonBarButton(togbar.getChildAt(0))启用 = TRUE。 ButtonBarButton(togbar.getChildAt(1))。enabled = true; ButtonBarButton(togbar.getChildAt(2))。enabled = false;

其中togbar是检测ToggleButtonBar的“ID”,所以用这种方式,你可以做whteverü要使用按钮做, 我希望这将有助于

ANKUR

+0

这里ma togglebuttonbar有三个按钮, – 2011-04-21 04:34:50

+0

感谢Ankur,但似乎没有在Flex 4中工作。 – 2011-04-22 12:31:29

+0

ryt,n e ways,hav a gr8 time brother – 2011-05-30 04:50:16

我找到了解决方案在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> 

我觉得这是你要找的,我用这个在TabbedViewNavigatorApplication的TabBar禁用按钮。

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

This worked for me – Randalfien 2013-03-27 12:56:14