So I figured it out thanks to WPF Grid allow controls inside to auto size width/height
Edit: So to address the comments (sorry about this still new here). What I was doing wrong, was not defining Grid.ColumnDefinitions (or RowDefinitions depending on how you're organizing things), and specifying the Grid.Column (or Row) numbers for the controls inside of the Grid. Here is an example with 2 DataGrids and a GridSplitter. Also you should specify the width (or height if a row) in the ColumnDefinition (or RowDefinition) instead of in the control itself.
<Grid Height="Auto" Width="Auto">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<DataGrid x:Name="myDataGrid1" Grid.Column="0" Margin="0,0,0,0" ItemsSource="{Binding}" HeadersVisibility="Column" IsReadOnly="True" AutoGeneratingColumn="OnAutoGeneratingColumn"/>
<GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Center" VerticalAlignment="Stretch"/>
<DataGrid x:Name="myDataGrid2" Grid.Column="2" Margin="0,0,0,0" ItemsSource="{Binding}" HeadersVisibility="Column" IsReadOnly="True" AutoGeneratingColumn="OnAutoGeneratingColumn"/>
</Grid>