2011-04-19 105 views
1

有沒有辦法啓用和禁用tabBar中的特定選項卡?我在ViewStack中發現了一個使用VBox的例子,但我使用了NavigatorContent。有什麼建議麼?Flex 4 - 如何啓用/禁用tabBar中的某些選項卡

謝謝, 馬克

+0

你能指出你已經找到的例子嗎?還有一些代碼示例會很好。聽起來就像你的混合MX和Spark,但我不確定如何,它會有助於回答這個問題,也可能有一個更簡單的解決方案,使用Spark ButtonBar(我實際上恰好在此時正在玩弄這個,決定彈出開放堆棧溢出) – shaunhusain 2011-04-19 16:58:57

+0

類似的問題作爲http://stackoverflow.com/questions/4539000/flex-4-tabbar-disable-tab – michael 2012-03-16 01:08:26

回答

2

如果我沒記錯的話,如果你用`啓用=「假」,將禁用選項卡,以及禁用NavigatorContent。

做的另一種方式是通過發送ButtonTabBar對象的自定義列表它有一個「啓用」屬性,然後創建一個自定義按鈕項目渲染啓用/禁用的數據發生變化時。

+0

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

+0

哦,對,就是TabNavigator,而不是ViewStack和ButtonTabBar。我的錯。然後我會使用項目渲染器的方法。您將返回的數據應該是實際的NavigatorContent。只需要將數據的啓用屬性綁定到項目渲染器的啓用屬性。 – 2011-04-20 17:54:04

-1

我有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

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> 
1

我覺得這是你要找的,我用這個在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

相關問題