WPF/XAML : Grid の各セルに余白を設定する
Grid.Resources に Style を設定して、Grid 内の子要素に Margin か Padding を設定することで余白を取ります。
注意点は、Grid に配置する全ての要素に余白を設定しようと TargetType の Type を FrameworkElement や UIElement にしても上手くいかず、どの要素にも余白が設定されない、というところです(参考:Setting a style's TargetType property to a base class)。
いろいろな要素を Grid 内に含めていて、その全てに余白を設定したい場合、それぞれに同じような Style を設定する必要がありそうです。
<Grid x:Name="MyGrid"> <Grid.Resources> <Style TargetType="{x:Type TextBlock}"> <Setter Property="Padding" Value="8,8,8,8"></Setter> </Style> </Grid.Resources> <Grid.RowDefinitions> ... </Grid.RowDefinitions> <Grid.ColumnDefinitions> ... </Grid.ColumnDefinitions> <TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Text="SomeText" /> ... </Grid>
ここでは割愛しますが、コードの方で、 Grid の子要素を行、列のループで全て取得して、それぞれの Margin か Padding を上書きすることで余白をつける、というのも1つの手です。