Flex 4 - Как включить / отключить определенные вкладки в tabBar - PullRequest
1 голос
/ 19 апреля 2011

Есть ли способ включить и отключить определенные вкладки в панели вкладок?Я нашел один пример с использованием VBox в ViewStack, но я использую NavigatorContent.Есть предложения?

Спасибо, Марк

Ответы [ 4 ]

2 голосов
/ 19 апреля 2011

Если я правильно помню, если вы отключите NavigatorContent с помощью `enable =" false ", он также отключит вкладку.

Другой способ сделать это - отправить ButtonTabBar пользовательский список объектов, у которого есть свойство 'enabled', а затем создать средство визуализации пользовательских кнопок, которое включает / отключает при изменении данных.

1 голос
/ 13 марта 2012

Я думаю, это то, что вы ищете, я использую это, чтобы отключить кнопки в TabbedViewNavigatorApplication TabBar.

    ButtonBarButton(this.tabbedNavigator.tabBar.dataGroup.getElementAt(0)).enabled = false;
    ButtonBarButton(this.tabbedNavigator.tabBar.dataGroup.getElementAt(1)).enabled = true;
0 голосов
/ 21 июля 2011

Я нашел решение на форумах 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>
0 голосов
/ 21 апреля 2011

У меня есть togglebuttonbar (flex3), я хотел сделать то же самое, что вы просили

ButtonBarButton (togbar.getChildAt (0)). Enabled = true;ButtonBarButton (togbar.getChildAt (1)). Enabled = true;ButtonBarButton (togbar.getChildAt (2)). Enabled = false;

где togbar - это «id» переключателя, поэтому таким образом вы можете делать все, что захотите, с помощью кнопок.надеюсь, это поможет

Анкур

...