Как я могу определить пользовательский 'contentGroups' в пользовательском компоненте Flex 4?

Компонент панели искры, например, может быть записан как это

<Panel title="Skinny">
  <child components ... />
  <controlBarGroup>
    <child control bar components ... />
  </controlBarGroup>

</Panel>

И его файл кожи обработает расположение contentGroup, controlBarGroup, и titleDisplay. Заметьте, однако что contentGroup, не появляется в коде выше и что controlBarGroup принимает дочерние компоненты MXML.

Теперь скажите, что я хочу создать пользовательский компонент, который определяет различный требуемый и ненеобходимый skinparts, такой как 'headerGroup', 'navigationGroup', и 'accountPreferencesGroup'. Я хотел бы записать этот пользовательский компонент как это

<MyComp>
<headerGroup>
   <child components .../>
</headerGroup>
<navigationGroup>
   <child components .../>
</navigationGroup>
<accountPreferencesGroup>
   <child components .../>
</accountPreferencesGroup>
</MyComp>

Мотивация здесь - то, что я могу теперь создать пару различных файлов кожи для изменения взгляда и расположения тех подгрупп. При чтении источника панели искры существуют некоторые вызовы в mx_internal пространстве имен, такие как getMXMLContent (), который является методом компонента группы искры, но к которому у меня нет доступа.

Описание выше имеют смысл? Как я могу создать пользовательский 'contentGroups' в своем пользовательском компоненте Flex4, который может использовать вложенные mxml дочерние компоненты? Я должен приблизиться к этому другой путь?

6
задан zero323 19 July 2015 в 13:02
поделиться

2 ответа

Недавно я наткнулся на это сообщение в блоге. Он дает довольно хорошее объяснение того, о чем вы говорите, я полагаю.

http://saturnboy.com/2010/07/multiple-content-area-containers/

6
ответ дан 17 December 2019 в 02:25
поделиться

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

import mx.core.mx_internal; использовать пространство имен mx_internal;

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

Если вы следуете коду в Panel.as, вы можете получить эту работу и определить свои собственные области содержимого.

0
ответ дан 17 December 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: