我建立的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中设置表头的背景色、高度等更详细的样式。