Наконец мне удалось заставить его работать. Если я напрямую привязываю свойство к заголовку столбца, он не заполняет значение.
Мне приходилось делать следующее:
<DataGridTextColumn Binding="{Binding Name}">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding DataContext.MyProp,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type Window}}}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>