Компонент панели искры, например, может быть записан как это
<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 дочерние компоненты? Я должен приблизиться к этому другой путь?
Недавно я наткнулся на это сообщение в блоге. Он дает довольно хорошее объяснение того, о чем вы говорите, я полагаю.
http://saturnboy.com/2010/07/multiple-content-area-containers/
Итак ... немного поработав, я обнаружил, что можно использовать пространство имен mx_internal, добавив следующий
import mx.core.mx_internal; использовать пространство имен mx_internal;
Adobe использует это пространство имен для обозначения методов и свойств, которые могут измениться в будущем, поэтому они используют это пространство имен для скрытия вещей.
Если вы следуете коду в Panel.as, вы можете получить эту работу и определить свои собственные области содержимого.