The content of the cell is set from .LoadContent() method and is returned from the CreateCellElement method of the column.
One possible scenario for a fix is to change that behavior and apply directly the template as WPF DataGrid does. However, this is a huge breaking change with CreateCellElement method is widely used. The second approach is to leave the code as it is right now, return the element from method of DataTemplate and set the ContentTemplate property of the cell to that DataTemplate. This will cause the content to be loaded twice. Which will degrade theGroup rows which are not present in the view are not visualized when the window is maximized.
A possible solution here is to set the GroupRenderMode property to Flat.
The vertical scrollbar measure incorrectly when the control's ItemsSource is populated in its Loaded event. To reproduce this, set the ItemsSource when the control is initialized. And then populate it on Loaded. Also, to reproduce this you will need to define the columns manually. To resolve this, populate the data on initialization of the gridview. Or delay the population to happen after the Loaded event. You can use a dispatcher for this.
For the time being, an appropriate converter should be used for the bindings.
The last row is not fully visible when the gridview is scrolled to the bottom in case RowHeight is set to less than 20px. The less the row height the smaller the part of the last row which is visible. This is reproducible only in Office2013 theme.
Scrollbar scrolls unexpectedly when column width is changed. Check the following video for a reference: http://screencast.com/t/Y6IwtREc