Если вы просто хотите получить внешнюю границу, проще всего поместить ее в элемент управления Border:
<Border BorderBrush="Black" BorderThickness="2">
<Grid>
<!-- Grid contents here -->
</Grid>
</Border>
Причина, по которой вы видите, что граница полностью заполняет ваш элемент управления, заключается в том, что по умолчанию ее HorizontalAlignment и VerticalAlignment установлены на Stretch. Попробуйте следующее:
<Grid>
<Border HorizontalAlignment="Left" VerticalAlignment="Top" BorderBrush="Black" BorderThickness="2">
<Grid Height="166" HorizontalAlignment="Left" Margin="12,12,0,0" Name="grid1" VerticalAlignment="Top" Width="479" Background="#FFF2F2F2" />
</Border>
</Grid>
Это должно дать вам то, что вы ищете (хотя вы можете поставить поле на всех 4 сторонах, а не только на 2 ...)