-4

WPF (c#) で DataSet を使用して DataGrid コントロールにデータを入力します。ヘッダーのテキストを中央に揃える方法が必要です。

:私のプログラムの実行中、Datagrid.Itemsourceが更新される可能性があります。それは私の以前の質問と同じではありません...

4

2 に答える 2

1
<DataGrid ItemsSource="{Binding Items}" 
              AutoGenerateColumns="True">
        <DataGrid.ColumnHeaderStyle>
            <Style TargetType="DataGridColumnHeader">
                <Style.Setters>
                    <Setter Property="HorizontalContentAlignment" Value="Center"/>
                </Style.Setters>
            </Style>
        </DataGrid.ColumnHeaderStyle>
    </DataGrid>
于 2013-08-13T20:34:26.017 に答える
0

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 に設定することだけです。HorizontalAlignmentHorizontalContentAlignmentDataGridColumnHeader

于 2013-08-13T20:33:06.503 に答える