If you want to make a grid with a canvas in it using xaml, you can write this :
<grid x:name="grid1" removed="Red" width="300" height="200">
<canvas x:name="canv1" width="50" height="20" removed="Green"></canvas>
</grid>
If you want to achieve the same goal programmatically, you should "auto" the width and height of the canvas and stretch the horizontal and vertical alignment of the canvas:
canv1.Width = Double.NaN
canv1.Height = Double.NaN
canv1.HorizontalAlignment = Windows.HorizontalAlignment.Stretch
canv1.VerticalAlignment = Windows.VerticalAlignment.Stretch