Как скрыть (а не удалить) содержимое панели (или любого контейнера) во Flex? - PullRequest
2 голосов
/ 04 декабря 2009

Я расширяю Panel для создания пользовательского компонента. Не зная, что это будет содержать позже, как я могу добавить метод для временного скрытия всего содержимого и отображения вместо него внутреннего объекта (который обычно невидим)?

То есть есть ли лучший способ, чем

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

Что бы я хотел сделать, так это поменять панель корневого контента, но я не знаю, как получить к ней доступ. Как это:

this._tempStore = this.removeChild(this.rootContentPaneObject);
this.rootContentPaneObject = this._myTemporaryReplacement;

По сути, я пытаюсь создать компонент, который будет заменять Panel, но будет вести себя подобно ViewStack.

Ответы [ 2 ]

1 голос
/ 04 декабря 2009

может быть, проще разместить ViewStack внутри вашей панели и использовать стек для отображения / скрытия соответствующего контента.

0 голосов
/ 04 декабря 2009

Вы, похоже, ищете Container.contentPane. Обратите внимание, что это mx_internal, поэтому мы углубляемся во внутренности Flex (на свой страх и риск ...).

import mx.core.mx_internal;
...
    this.mx_internal::contentPane.visible = false;

Следующий вопрос заключается в том, как добавить дочерние элементы, которые все еще видны (не на панели содержимого). Возможно, вам придется использовать Container.rawChildren для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...