workaround:
public MainWindow()
{
InitializeComponent();
this.grid.Loaded += grid_Loaded;
}
void grid_Loaded(object sender, RoutedEventArgs e)
{
this.grid.ChildrenOfType<Grid>().FirstOrDefault(x => x.Name == "PART_OuterGrid").RowDefinitions[1].Height = GridLength.Auto;
var cells = this.grid.ChildrenOfType<GridViewHeaderCell>();
foreach (GridViewHeaderCell cell in cells)
{
cell.ChildrenOfType<Grid>().FirstOrDefault(x => x.Name == "PART_OuterGrid").RowDefinitions[1].Height = GridLength.Auto;
}
}