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

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

3个回答

rengu4269
rengu4269 能不用模板的方法吗?使用DataGridTextColumn怎么实现呢?
一年多之前 回复

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问