コンテンツ コントロールの描画
コンテンツ コントロールには、そのコントロールに表示される内容を定義するコンテンツ プロパティが 1 つあります。コンテンツ プロパティは、テキスト文字列のように単純な場合も、Microsoft .NET Framework オブジェクトのように複雑な場合もあります。コンテンツ コントロールにレイアウト パネル コントロールを追加すると、そのパネル コントロールがコンテンツとなり、そこに複数の子オブジェクトを追加できます。そのため、コンテンツ オブジェクトのプロパティが 1 つだけであるという制約に対処できます。
次に、コンテンツ コントロール (Button) を作成し、そのコンテンツ プロパティをレイアウト パネル (StackPanel) に設定する手順を説明します。この手順は、MSDN の「ContentControl 型 」の「型」一覧にある他のコンテンツ コントロールにも当てはまります。
コンテンツ コントロールを作成するには
Microsoft Expression Blend アプリケーション ウィンドウの左側にある [ツール] パネルで、[アセット] をクリックします。[アセット] パネルの [コントロール] カテゴリで、一覧から Button を選択します。
[ツール] パネルの [アセット] ボタンの下に Button コントロールのアイコンが選択された状態で表示され、アートボードに Button コントロールを追加できるようになります。
ヒント : よく使用するユーザー インターフェイス (UI) の要素 (Button コントロールなど) は、すばやく追加できるように、[アセット] ボタンの下のドロップダウン リストに表示されます。
アートボードにボタンを追加するには、[ツール] パネルの Button コントロールのアイコンをダブルクリックします。Button コントロールの既定のコンテンツは、"Button" という文字列です。
既定のサイズと場所 (左上) でアートボード上に作成された Button オブジェクト
ヒント : アートボードにコントロールを追加するには、[ツール] パネルでコントロールを選択してアートボードをクリックし、マウスをドラッグしてコントロールの境界ボックスを描く方法もあります。
ヒント : アートボードに追加した (Button コントロールなどの) UI デザイン要素は、アプリケーションのオブジェクトになります。
[アセット] パネルの [コントロール] カテゴリにある [パネル] で、一覧から StackPanel を選択します。StackPanel コントロールのアイコンをダブルクリックすると、このコントロールがアートボードに追加されます。
[オブジェクトとタイムライン] パネルで StackPanel オブジェクトを Button オブジェクトにドラッグします。
StackPanel によって、Button オブジェクトのコンテンツ文字列が置き換えられます。これを確認するには、[オブジェクトとタイムライン] パネルで [Button] を選択し、[プロパティ] パネルの [共通プロパティ] カテゴリで Content プロパティを確認します。
アートボード上の [Button] 内の子オブジェクトとして追加された [StackPanel] オブジェクト
StackPanel の高さと幅は 100 で、これが既定のサイズです。最小の高さと幅は 0 です。[StackPanel] を扱いやすくするには、まず、[オブジェクトとタイムライン] パネルで [StackPanel] を選択します。次に、[プロパティ] パネルの [レイアウト] カテゴリにある [Width] を 150 ピクセルに、[Height] を 75 ピクセルに変更します (ピクセルとはデバイスに依存しない単位であり、約 1/96 インチです)。
ヒント : アートボード上のオブジェクトのサイズを変更する別の方法として、境界ボックスの四隅にあるガイドをドラッグすることもできます。
子オブジェクト (StackPanel オブジェクト)のサイズが変更されたときに Button のサイズが自動的に変更されるようにするには、Button オブジェクトを選択し、[プロパティ]パネルの [レイアウト] カテゴリで [Width] と [Height] プロパティを [自動] に設定します。
StackPanel の子オブジェクトが水平方向にスタックされるように、[オブジェクトとタイムライン] パネルで [StackPanel] を選択した状態で、[プロパティ] パネルの [レイアウト] カテゴリの Orientation を [Horizontal] に設定します。
[オブジェクトとタイムライン] パネルで [StackPanel] オブジェクトをクリックしてアクティブにし、子オブジェクトを追加できるようにします。
ヒント : ほとんどの UI 要素とは異なり、一部のレイアウト パネル (StackPanel や Grid など) には複数の子オブジェクトを含めることができます。この機能は、アプリケーション デザインを編成し、レイアウトするときに便利です。詳細については、「オブジェクトの配置」を参照してください。
[ツール] パネルの [楕円] を選択し、アートボードにある StackPanel 内に円を描画します。次に、[ツール] パネルで TextBox を選択し、StackPanel の内部に描画します。親の StackPanel オブジェクトを水平方向に設定したので、これらの子オブジェクトは左から右に配置されます。子オブジェクト同士の間隔を広げるには、[プロパティ] パネルの [レイアウト] カテゴリで各オブジェクトの [Margin] プロパティを調整します。
StackPanel オブジェクトに追加された子オブジェクト
F5 キーを押してプロジェクトをビルドし、作成されたアプリケーションを確認します。
Copyright ©2011 by Microsoft Corporation. All rights reserved.