WPF (c#) で DataSet を使用して DataGrid コントロールにデータを入力します。ヘッダーのテキストを中央に揃える方法が必要です。
注:私のプログラムの実行中、Datagrid.Itemsourceが更新される可能性があります。それは私の以前の質問と同じではありません...
<DataGrid ItemsSource="{Binding Items}"
AutoGenerateColumns="True">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Style.Setters>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
</Style.Setters>
</Style>
</DataGrid.ColumnHeaderStyle>
</DataGrid>
HorizontalContentAlignment
タイプのプロパティをスタイルするだけDataGridColumnHeader
です。したがって、リソースに追加します。
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Center" />
</Style>
補遺通常、MSDN のこのページでコントロール テンプレートを確認できます。これにより、必要なスタイルを適用する方法を推測できます。この場合、コントロールのテンプレートはDataGridColumnHeader
次のようになります。
<Grid>
<Border x:Name="columnHeaderBorder" BorderThickness="1" Padding="3,0,3,0">
<!-- (ellided brushes for brevity) -->
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</Border>
<Thumb x:Name="PART_LeftHeaderGripper"
HorizontalAlignment="Left"
Style="{StaticResource ColumnHeaderGripperStyle}" />
<Thumb x:Name="PART_RightHeaderGripper"
HorizontalAlignment="Right"
Style="{StaticResource ColumnHeaderGripperStyle}" />
</Grid>
ヘッダー テキストが表示される場所です。コントロールの (TemplateBinding) に設定されていることContentPresenter
がわかります。したがって、必要なのは、そのスタイル プロパティをコントロールの type に設定することだけです。HorizontalAlignment
HorizontalContentAlignment
DataGridColumnHeader