WPF 实现DataGrid列头自动换行问题

我建立的DataGrid的列头文字比较长,列的内容文字比较短,现在想要使列头自动换行,我使用的是DataGridTextColumn,求大神指点!

https://bbs.csdn.net/topics/392202275

给DataGridTextColumn设置HeaderTemplate,可以使用通用的DataTemplate

 <DataTemplate x:Key="HeaderTemplateCenterAlign">
     <Border>
         <TextBlock Text="{Binding Path=Content, RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
        </Border>
</DataTemplate>
<DataGridTextColumn Header="名称" Width="60" HeaderTemplate="{StaticResource HeaderTemplateCenterAlign}">

也可以直接写成

 <DataGridTextColumn Width="60">
     <DataGridTextColumn.HeaderTemplate>
         <DataTemplate>
               <Border>
                      <TextBlock Text="测试测试测试测试测试测试" TextWrapping="Wrap"/>
               </Border>
         </DataTemplate>
    </DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>

关键点是要给DataTemplate中的TextBlock设置TextWrapping="Wrap"。还可以在DataGrid.ColumnHeaderStyle中设置表头的背景色、高度等更详细的样式。