如何使DataGridTemplateColumn.HeaderTemplate居中

Dev*_*per 7 wpf xaml datagrid

任何线索?下面的代码无法正常工作......

谢谢!

 <DataGrid AutoGenerateColumns="False"  VerticalAlignment="Stretch" HorizontalAlignment="Stretch"  Name="dg1"   Grid.Row="0" >
     <DataGridTemplateColumn  Width="SizeToCells" IsReadOnly="True">
         <DataGridTemplateColumn.HeaderTemplate>
             <DataTemplate>
                 <Label HorizontalAlignment="Center" Content="First Name"></Label>
             </DataTemplate>
          </DataGridTemplateColumn.HeaderTemplate>
          <DataGridTemplateColumn.CellTemplate>
              <DataTemplate>
                 <Label Content="{Binding FirstName}" />
              </DataTemplate>
          </DataGridTemplateColumn.CellTemplate>
     </DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)

更新:

@ArsenMkrt的解决方案很棒,但我面临一些奇怪的垂直线......

在此输入图像描述

Ars*_*yan 14

HeaderStyle而不是HeaderTemplate

    <DataGridTemplateColumn.HeaderStyle>
        <Style TargetType="{x:Type DataGridColumnHeader}">
            <Setter Property="HorizontalAlignment" Value="Center"/>
        </Style>
    </DataGridTemplateColumn.HeaderStyle> 
Run Code Online (Sandbox Code Playgroud)


Avn*_*ava 10

试试这个对我来说是有中心的标题没有任何问题.

<DataGridTemplateColumn.HeaderStyle>
    <Style TargetType="DataGridColumnHeader">
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
    </Style>
</DataGridTemplateColumn.HeaderStyle>
Run Code Online (Sandbox Code Playgroud)


小智 6

不确定是否仍然有帮助,但有这个:

<DataGridTemplateColumn.HeaderStyle>
    <Style TargetType="{x:Type DataGridColumnHeader}">
        <Setter Property="HorizontalAlignment" Value="Stretch"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>                            
    </Style>
</DataGridTemplateColumn.HeaderStyle>
Run Code Online (Sandbox Code Playgroud)

将标题居中,不会出现垂直条问题