Pergunta

O componente do painel Spark, por exemplo, pode ser escrito assim

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

</Panel>

E seu arquivo de pele lidará com o layout do ContentGroup, ControlBarGroup e Titledisplay. Observe, no entanto, que o ContentGroup não aparece no código acima e que o ControlBarGroup aceita componentes Child MXML.

Agora diga que quero criar um componente personalizado que defina vários Skinparts necessários e não reembolsados, como 'HeaderGroup', 'NavigationGroup' e 'AccountPreferencesGroup'. Eu gostaria de escrever este componente personalizado como este

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

A motivação aqui é que agora posso criar alguns arquivos de pele diferentes para alterar a aparência e o layout desses subgrupos. LEITURA DO PAINEL DO Spark, existem algumas chamadas no espaço para nome MX_Internal, como getMxmlContent (), que é um método do componente do grupo Spark, mas que não tenho acesso.

A descrição acima faz sentido? Como posso criar 'ContentGroups' personalizados no meu componente Flex4 personalizado que pode usar componentes filho MXML aninhados? Devo abordar isso de uma maneira diferente?

Foi útil?

Solução

Recentemente, encontrei esta postagem no blog. Dá uma explicação muito boa do que você fala, acredito.

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

Outras dicas

Então ... depois de trabalhar um pouco mais ... achei que é possível usar o namespace mx_internal, adicionando o seguinte

importar mx.core.mx_internal; use namespace mx_internal;

A Adobe usa esse espaço para marcar métodos e propriedades que podem mudar no futuro, para que eles usem esse espaço para esconder as coisas.

Se você seguir o código no painel. Como poderá obter esse trabalho e definir suas próprias áreas de conteúdo personalizadas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top