с использованием этого решения Динамические столбцы WPF MvvM DataGrid
вы можете создать столбцы в вашей виртуальной машине и связать MVVM как с определениями столбцов, так и с данными для сетки данных.
Предполагается, что вам нужно много контролировать свои столбцы, а не просто иметь сетку данных, автоматически генерирующую их из привязки источника элементов