6

たとえば、スパークパネルコンポーネントは次のように記述できます。

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

</Panel>

また、そのスキンファイルは、contentGroup、controlBarGroup、およびtitleDisplayのレイアウトを処理します。ただし、contentGroupは上記のコードには表示されておらず、controlBarGroupは子mxmlコンポーネントを受け入れることに注意してください。

ここで、「headerGroup」、「navigationGroup」、「accountPreferencesGroup」など、さまざまな必須および非必須のスキンパーツを定義するカスタムコンポーネントを作成するとします。このカスタムコンポーネントをこのように書きたい

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

ここでの動機は、これらのサブグループの外観とレイアウトを変更するために、いくつかの異なるスキンファイルを作成できることです。Sparkパネルのソースを読み取ると、sparkグループコンポーネントのメソッドであるgetMXMLContent()など、mx_internal名前空間内にいくつかの呼び出しがありますが、これにはアクセスできません。

上記の説明は意味がありますか?ネストされたmxml子コンポーネントを使用できるカスタムFlex4コンポーネントでカスタム「contentGroups」を作成するにはどうすればよいですか?これに別の方法でアプローチする必要がありますか?

4

2 に答える 2

6

最近、このブログ投稿に出くわしました。それはあなたが話していることのかなり良い説明を与えると私は信じています。

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

于 2010-07-16T02:31:41.203 に答える
0

それで...もう少し作業を行った後...次を追加することでmx​​_internal名前空間を使用できることがわかりました

import mx.core.mx_internal; 名前空間mx_internalを使用します。

アドビはこの名前空間を使用して、将来変更される可能性のあるメソッドとプロパティをマークするため、この名前空間を使用して物事を非表示にします。

Panel.asのコードに従うと、この作業を実行して、独自のカスタムコンテンツ領域を定義できます。

于 2010-05-12T21:55:26.070 に答える