Кажется, этот подход работает, но вы получаете заголовок по умолчанию, выровненный по правому краю. У меня есть статический стиль ресурса для заголовка datagridcolumnheader, и я only хочу изменить выравнивание, оставив все другие элементы стиля, содержащиеся в пользовательском стиле.
Пока у меня есть:
xmlns:sdk="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"<br>
xmlns:prim="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"
и
<sdk:DataGrid x:Name="ServicesDataGrid" Width="Auto" Margin="15,5,5,5" ColumnHeaderStyle="{StaticResource DataGridColHeaderStyle}" ......
и
<sdk:DataGridTextColumn Header="Gross Amt" Binding="{Binding GrossAmount,StringFormat=n2}" ElementStyle="{StaticResource RightAlignStyle}">
<sdk:DataGridTextColumn.HeaderStyle>
<Style TargetType="prim:DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Right"/>
</Style>
</sdk:DataGridTextColumn.HeaderStyle>
</sdk:DataGridTextColumn>
Изменение размера сетки показывает, что текст выровнен по правому краю, но шрифт, фон и т. Д. Не соответствуют определению в DataGridColHeaderStyle
Спасибо