Как я могу определить пользовательские «ContentGroups» в пользовательском компонентам Flex 4?
-
26-09-2019 - |
Вопрос
Компонент Spark Pare, например, можно записать так
<Panel title="Skinny">
<child components ... />
<controlBarGroup>
<child control bar components ... />
</controlBarGroup>
</Panel>
И его файл кожи будет обращаться с макетом ContentGroup, ControlBargroup и TitLedisPlay. Уведомление, однако, что ContentGroup не отображается в коде выше, и что ControlBargrup принимает дочерние компоненты MXML.
Теперь скажем, я хочу создать пользовательский компонент, который определяет различные необходимые и не требуемые SkinParts, такие как «HeaderGroup», «Навигационная группа» и «AccountPreferencesGroup». Я хотел бы написать этот пользовательский компонент, как это
<MyComp>
<headerGroup>
<child components .../>
</headerGroup>
<navigationGroup>
<child components .../>
</navigationGroup>
<accountPreferencesGroup>
<child components .../>
</accountPreferencesGroup>
</MyComp>
Мотивация здесь состоит в том, что теперь я могу создать пару разных файлов кожи для изменения вида и макета этих подгрупп. Источник чтения Spark Panel, в пространстве пространства MX_Internal есть несколько вызовов, таких как getmxmlcontent (), который представляет собой метод компонента Spark Group, но у меня нет доступа к.
Выше описание имеет смысл? Как я могу создать пользовательские «ContentGroups» в моем пользовательском компоненте Flex4, которые могут использовать вложенные дочерние компоненты MXML? Должен ли я подойти к этому другому способу?
Решение
Я недавно столкнулся с этим в блоге. Это дает довольно хорошее объяснение того, о чем вы говорите, я верю.
http://saturnboy.com/2010/07/multiple-content-area-containers/
Другие советы
Итак, после того, как рабочие дела через немного больше ... я обнаружил, что это можно максимально использовать пространство имен MX_Internal, добавив следующее
Импорт MX.core.mx_internal; использовать пространство имен MX_Internal;
Adobe использует это пространство имен, чтобы пометить методы и свойства, которые могут измениться в будущем, поэтому они используют это пространство имен, чтобы скрыть вещи.
Если вы следуете за кодом на панели. Как вы можете получить эту работу и определить свои собственные зоны контента.