プロジェクトの作成
新しいプロジェクトの作成でWPFアプリケーション
を、プロジェクト名:LayoutSample2
、フレームワーク:.NET 6.0
で作成してください。
GridとStackPanelの組み合わせ
概要
Grid
とStackPanel
を組み合わせて、以下のような登録画面を組み立ててみます。
どう作るかというと、Grid
を行分割し、
上の行に縦並びのStackPanel
を配置し、その中にコントロールを配置し、
下の行に横並びのStackPanel
を配置し、その中にコントロールを配置します。
行分割
まずはGrid
を2行にしましょう。
ボタンを配置する下の行から先に作っていきます。
ボタンを配置しやすいよう、大雑把に余裕を持たせた行の高さにします。
Grid
の上の行と下の行にそれぞれStackPanel
を配置し、
下の行はOrientation
をHorizontal
にします。
ボタンエリア作成
ボタンの配置
下のStackPanel
にButton
を2つ配置します。
Button
のContent
を登録
, キャンセル
に書き換えます。
下のStackPanel
のHorizontalAlignment
をRight
に設定します。
Auto指定
Grid
の下の行の設定をStar
からAuto
に変更します。
RowDefinition
にHeight="Auto"
が設定されました。
Auto
指定は中に入っているコントロールのサイズに合わせて自動的に伸縮します。
入力エリア作成
次は上の行、入力エリアを作っていきます。
上のStackPanel
にLabel
とTextBox
を配置し、TextBox
はレイアウト
> すべてリセット
します。
TextBox
のTextWrapping
を折り返しありのWrap
から、折り返しなしのNoWrap
に変更します。
Label
のMargin
を15,10,15,0
(左, 上, 右, 下
指定)に設定します。
TextBox
のText
を空にし、
Margin
を15,0,15,0
(左, 上, 右, 下
指定)または15,0
(左右, 上下
指定)に設定します。
これで下図のように余白が設定されます。
Label
からTextBox
のタグまで行選択し、Ctrl
+ C
でコピーします。
1つ目のStackPanel
の終了タグの行頭にテキストカーソルを移動します。
Ctrl
+ V
で2回貼り付けます。
Label
のContent
をそれぞれ名前
、年齢
、備考
に編集し、
年齢TextBox
のHorizontalAlignment
をStretch
からLeft
に変更し、Width
を50
に設定します。
TextBox
は、入力桁数が極端に少ないもの以外は固定サイズを指定せず、画面幅いっぱいに表示しましょう。
画面サイズ調整
コントロールの配置はひととおり済んだのでWindow
を程よいサイズにします。
Height
に300
を、Width
に400
を設定してください。
まとめ
-
Grid
の行・列サイズ指定方法には以下があります。- 比率の
Star
Pixel
- 中身のコントロールに合わせて伸縮する
Auto
- 比率の
-
StackPanel
はOrientation
をVertical
(既定)にすると中のコントロールが縦並び、Horizontal
にすると横並びになります。 -
Margin
でコントロール間の余白を調整します。