Я отказался от ListView для DataGrid в .Net 4, поскольку проще создавать шаблоны столбцов.
Расположение также более разумно, и мне не нужно помнить, чтобы установить для HorizontalContentAlignment значение Stretch, чтобы содержимое ячейки покрывало ячейку. Еще одна приятная функциональность - это редактирование шаблонов в DataGrid, что избавляет меня от необходимости использовать CellTemplateSelector для получения другого элемента управления при редактировании ячейки.