【WPF】Gridで要素を上下・左右に配置する方法
2026-05-26
ウィンドウの上側はTextBox、下側はTextBlockを置きたいなど、
WPFで要素を上下・左右で別々の要素を置く方法についてまとめます。
上下(行)で分ける
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
と、Gridの中に入れておいて、上側にTextBoxを置きたいのであれば
<TextBox Grid.Row="0" Text="Hello World"/>
下側にTextBlockなら、
<TextBlock Grid.Row="1" Text="テキスト" FontSize="16"/>
のようにします。
この場合、RowDefinition を2つ書いているため、
上側が Row="0"、下側が Row="1" になります。
Height= のところには Auto * 80 などを指定でき、要素の大きさや余白の取り方を調整できます。
左右(列)で分ける
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
上下の時とほぼ同じですが、RowではなくColumnになります。
左側にTextBoxを置きたいのであれば
<TextBox Grid.Column="0" Text="Hello World"/>
右側にTextBlockなら、
<TextBlock Grid.Column="1" Text="テキスト" FontSize="16"/>
になります。
これも同じようにWidth=のところにはAuto * 80などがありますね。