C# 以资源文件为中心的DataGridTextColumn标题中的换行符
我想实现DataGridColumn中的标题有一个换行符2行,并且每个文本都居中。此外,文本应该来自一个资源文件。 我尝试使用ALT+ENTER在资源文件中换行,但文本未居中,如下所示:C# 以资源文件为中心的DataGridTextColumn标题中的换行符,c#,wpf,datagrid,C#,Wpf,Datagrid,我想实现DataGridColumn中的标题有一个换行符2行,并且每个文本都居中。此外,文本应该来自一个资源文件。 我尝试使用ALT+ENTER在资源文件中换行,但文本未居中,如下所示: | LINE1LONG | | LINE2 | WPF中的我的DataGridTextColumn <DataGridTextColumn Width="4*" IsReadOnly="False" Header="{x:Static p:Resources.DG_HEADER_DESC
| LINE1LONG |
| LINE2 |
WPF中的我的DataGridTextColumn
<DataGridTextColumn Width="4*" IsReadOnly="False"
Header="{x:Static p:Resources.DG_HEADER_DESC}" Binding="{Binding Description, Mode=TwoWay}">
</DataGridTextColumn>
定心适用于单线,但不适用于具有以下样式的双线:
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
</Style>
有人有想法吗?您可以为标题创建自定义模板,将文本居中放置在文本块中,而不是标题中的文本块:
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn>
<DataGridTextColumn.Header>
<GridViewColumnHeader>
<TextBlock TextAlignment="Center" Text="this is a text
and here some more" />
</GridViewColumnHeader>
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
您可以为页眉创建自定义模板,将文本居中放置在文本块中,而不是页眉中的文本块:
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn>
<DataGridTextColumn.Header>
<GridViewColumnHeader>
<TextBlock TextAlignment="Center" Text="this is a text
and here some more" />
</GridViewColumnHeader>
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
如果要保持使用资源文件的能力
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn>
<!-- Column Width--!>
<DataGridTextColumn.Width>4</DataGridTextColumn.Width>
<!-- Column Width--!>
<DataGridTextColumn.IsReadOnly>False</DataGridTextColumn.IsReadOnly>
<DataGridTextColumn.Binding>
<Binding Path="{Binding Description, Mode=TwoWay}"/>
</DataGridTextColumn.Binding>
<DataGridTextColumn.Header>
<DataGridColumnHeader Content="{x:Static p:Resources.DG_HEADER_DESC}"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Center"
TextBlock.TextAlignment="Center">
<!-- Header Width--!>
<DataGridColumnHeader.Width>4</DataGridColumnHeader.Width>
<!-- Header Width--!>
</DataGridColumnHeader>
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
如果要保持使用资源文件的能力
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn>
<!-- Column Width--!>
<DataGridTextColumn.Width>4</DataGridTextColumn.Width>
<!-- Column Width--!>
<DataGridTextColumn.IsReadOnly>False</DataGridTextColumn.IsReadOnly>
<DataGridTextColumn.Binding>
<Binding Path="{Binding Description, Mode=TwoWay}"/>
</DataGridTextColumn.Binding>
<DataGridTextColumn.Header>
<DataGridColumnHeader Content="{x:Static p:Resources.DG_HEADER_DESC}"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Center"
TextBlock.TextAlignment="Center">
<!-- Header Width--!>
<DataGridColumnHeader.Width>4</DataGridColumnHeader.Width>
<!-- Header Width--!>
</DataGridColumnHeader>
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>