Как я могу определить пользовательские «ContentGroups» в пользовательском компонентам Flex 4?

StackOverflow https://stackoverflow.com/questions/2822837

Вопрос

Компонент 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 использует это пространство имен, чтобы пометить методы и свойства, которые могут измениться в будущем, поэтому они используют это пространство имен, чтобы скрыть вещи.

Если вы следуете за кодом на панели. Как вы можете получить эту работу и определить свои собственные зоны контента.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top