У вас есть поля, установленные на всех 4 сторонах с вертикальным выравниванием растяжения. В Grid это в основном даст вам GroupBox, размер которого соответствует его родительскому элементу, но не его содержимому. Удалите поля справа и снизу и измените VerticalAlignment на Top.
Поля имеют порядок L, T, R, B. Так что обнулите последние два. Height = Auto и VerticalContentAlignment = Stretch - значения по умолчанию, поэтому вы также можете избавиться от них. Постарайтесь сохранить XAML как можно более чистым.
Из разметки видно, что вы используете Blend или конструктор Visual Studio. Я бы предложил использовать дизайнер для предварительного просмотра, а не для редактирования. Хотя это стало намного лучше, я нахожу поведение дизайнера в обоих продуктах очень расстраивающим. Знакомство с созданием XAML вручную приносит долгосрочную выгоду.
Пример
Согласно комментариям, я добавляю пример того, как у вас будет DataGrid, который заставляет его родительские элементы автоматически расти в зависимости от высоты. Обратите внимание, что только само окно имеет фиксированный размер. Для окна, если вы хотите, чтобы оно росло в зависимости от высоты, вы можете установить SizeToContent = Height. Обратите внимание, что вам нужно только установить VerticalAlignment = Top для самого внешнего элемента.
MainWindow.xaml
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="640" Height="480">
<Grid x:Name="LayoutRoot" Background="Green" VerticalAlignment="Top">
<Border Margin="5" BorderBrush="Yellow" BorderThickness="4">
<GroupBox Header="Data Grid" Background="Orange">
<DataGrid x:Name="dg" AutoGenerateColumns="True" />
</GroupBox>
</Border>
</Grid>
</Window>
MainWindow.xaml.cs
public partial class MainWindow : Window
{
public MainWindow( )
{
InitializeComponent( );
var items = new ObservableCollection<DateTime>( );
dg.ItemsSource = items;
var timer = new DispatcherTimer( );
timer.Interval = TimeSpan.FromSeconds( 2 );
timer.Tick += ( s, e ) => items.Add( DateTime.Now );
timer.Start( );
}
}