1.place your buttons in separate cells. That means create a cell for each control(button).
2.Then set your control/button's "HorizontalAlignment" and "VerticalAlignment" = "Stretch".
3.Done. Whenever the size of the cell will grow, the button's size will automatically grow.
For example : Window's size is 600x400
<grid horizontalalignment="Stretch" verticalalignment="Stretch">
<grid.rowdefinition>
<rowdefiniton height="*" />
<rowdefiniton height="*" />
</grid.rowdefinition>
<grid.columndefinition>
<columndefinition width="*" />
<columndefinition width="*" />
</grid.columndefinition>
<button grid.row="0" grid.column="0" horizontalalignment="Stretch" verticalalignment="Stretch" />
<Button Grid.Row="0" Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
<Button Grid.Row="1" Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
<Button Grid.Row="1" Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</grid>
This will stretch your grid to available width and height.
So, now your grid's size is 600x400.
Now You have 4 cells, all having equal sizes.
That means each cell's size is 300x200.
And because we have set each button's alignment property, the buttons will fill to the cell's size.