コンテンツのサイズ

外側のコンテナを基本としたサイズを定義することで、ページ全体のサイズ調整が比較的簡単になります。しかしながら、コンテンツをベースとした外側のコントールのサイズ調整は、親チェーンが数層の深さにある場合などは特に、複雑となります。ですから、ページ全体のサイズがどのように導きだされるのかを理解することは重要です。

図 15 – コンテンツ・サイズの決定

図 16 には、薄い青のパネルが示されています。このパネルには、1 行、1 列のレイアウトが、周囲には 20 ピクセルのマージンが設定されています。右側と下の点線は、レイアウトの拡張がしめされていますさらにこのパネルは、コンテンツ (図ではラベル 1、2、3、4) の高さと幅に合わせてサイズ調整するように定義されています。

ラベル 1 は一番右側のコントロールで、レイアウトされていません。ですから、これが親の幅を定義します。

ラベル 2 は一番下のコントロールで、レイアウトされていません。ですから、これが親の高さを定義します。

ラベル 3 はレイアウトされています。幅の中に収まるよう、中央に寄せられて、サイズも調整されているます。論理上、ラベルが幅に合わせられている場合、このラベルを使って親コンテナの幅を決定することはできません。ただし、高さには影響与えます。

ラベル 4 はレイアウトされておらず、左上が負の値になるように位置づけられています。最初に見た時は、このパネルのサイズを調整して、ラベルが入るようにしないといけないように思うでしょう。しかし、コンテンツのサイズ調整は、コントロールの左上から始まり、その境界内の子コントロールの位置を評価します。ただ左上の位置は負の値であるため、これは計算からは外されます。