I'm applying the following style to my DataGridColumns (via their HeaderStyle property):
<Style x:Key="MyHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBlock Text="???" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
The same style is applied to each column but I need some way of altering the content (such as the TextBlock text) depending on which column it is. I believe the DataGridColumnHeader has no binding of its own, so how could I achieve this? The number of columns will vary, so I can't simply create a separate style for each.