web-dev-qa-db-ja.com

WPFでDataGridヘッダーのスタイルを設定する方法

次のようなDataGridがあります。

<DataGrid AutoGenerateColumns="False"  
          Height="221" 
          HorizontalAlignment="Center" 
          VerticalContentAlignment="Center" 
          HorizontalContentAlignment="Center" 
          Margin="6,269,0,0" 
          Name="dataGrid1" 
          VerticalAlignment="Center" 
          Width="875" 
          SelectionChanged="dataGrid1_SelectionChanged">
    <DataGrid.Columns>
        <DataGridTextColumn x:Name="Id" 
                            Header="ID"
                            Binding="{Binding Path=Key}" 
                            HeaderStyle="" />
        <DataGridTemplateColumn Header="Image" 
                                Width="SizeToCells" 
                                IsReadOnly="True" 
                                MinWidth="80">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Image Width="16" 
                           Height="16"
                           Source="{StaticResource MyImageSource}"
                           HorizontalAlignment="Center" 
                           VerticalAlignment="Center"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

中央揃えの方法DataGrid Header?それにスタイルを適用しますか?

ありがとう


編集1):

このコードを書いた後:

<DataGrid.ColumnHeaderStyle>
    <Style TargetType="{x:Type DataGridColumnHeader}">
        <Setter Property="FontWeight"  Value="Bold" />
        <Setter Property="HorizontalAlignment" Value="Center" />
        <Setter Property="HorizontalContentAlignment" Value="Center" />
    </Style>
</DataGrid.ColumnHeaderStyle>

グリッド列は次のようになります。

enter image description here

どうして?

15
Arian

ヘッダーの折りたたみの影響を回避するには、次のようにスタイルを修正します。

  <Setter Property="HorizontalAlignment" Value="Stretch" />
  <Setter Property="HorizontalContentAlignment" Value="Center" />
17
j.b.