Я не думаю, что вы можете сделать это с помощью чистого XAML, вам придется дублировать шаблоны или создавать пользовательский элемент управления, который отображает текстовые значения как свойства зависимостей через шаблон.
Лучшее решение, я думаю, - это настроить привязки для ваших заголовков Grid и заполнить их, используя вашу ViewModel:
<Grid
x:Name="m_Headers"
Visibility="Visible"
Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="{StaticResource DataColunmWidth}" />
<ColumnDefinition
Width="{StaticResource DataColunmWidth}" />
</Grid.ColumnDefinitions>
<TextBlock
Margin="3,0,0,0"
Text="{Binding FooText}"
Grid.Column="1" />
<TextBlock
Margin="3,0,0,0"
Text="{Binding BarText}"
Grid.Column="2" />
</Grid>