Поскольку вы не знаете о столбцах, которые могут существовать, вам придется вернуться к коду позади. Если вы знали, что у вас всегда будет 8 свойств для данного объекта вместе с его типами; Вы можете перенести это поведение в XAML и не иметь дело с обработкой события.
Справочник MSDN подводит итог того, как этого добиться, но сводится к обработке события AutoGeneratingColumn
.
private void dataGrid1_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
...
}