Скрытие панели содержимого на панели Flex - PullRequest
0 голосов
/ 20 августа 2010

Я пишу пользовательский компонент во Flex 3.2, который расширяет компонент панели.После того, как пользователь выполнит определенное действие, я хотел бы скрыть основную область содержимого в компоненте Panel, а также панель управления, если она была указана.Есть идеи, как это сделать?controlBar.visible, кажется, не скрывает панель управления, и я не знаю другого простого способа доступа к основной области содержимого, кроме итерации по всем дочерним элементам главной панели, и я хотел бы избежать этого, если это возможно.Спасибо

Ответы [ 2 ]

0 голосов
/ 20 августа 2010

Причина, по которой вы не можете скрыть панель управления, заключается в том, что вы устанавливаете только видимое свойство - оно все еще занимает свое место.Итак, чтобы действительно «спрятать» его, сделайте следующее:

myControlBar.includeInLayout = false;

Кроме того, чтобы скрыть всех своих детей, требуется только простой цикл:

for each (var oChild:DisplayObject in idPanel.getChildren()) {
    oChild.visible = false;
}

Итак, все приложение будет выглядеть так:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Script>
    <![CDATA[
        private function doit(): void {
            idControl.visible = false;
            idControl.includeInLayout = false;

            for each (var oChild:DisplayObject in idPanel.getChildren()) {
                oChild.visible = false;
            }
        }
    ]]>
</mx:Script>

<mx:Button x="10" y="10" label="Button" click="doit()"/>
<mx:Panel x="83" y="10" width="250" height="200" layout="absolute" id="idPanel">
    <mx:CheckBox x="10" y="10" label="Checkbox"/>
    <mx:DateField x="10" y="40"/>
    <mx:ControlBar id="idControl">
    </mx:ControlBar>
</mx:Panel>

</mx:Application>

Надеюсь, это поможет!

0 голосов
/ 20 августа 2010

Не могли бы вы установить один основной контейнер, будь то HBox или VBox и т. Д. ... внутри вашей панели, который будет содержать все дочерние элементы, тогда вы можете переключать видимость этого контейнера в зависимости от действий пользователя.

Что касается ControlBar, вы должны иметь возможность изменить его значение видимости ...

...