QA@IT

C# WPF:DataGridのcellを左寄せにするには

9877 PV

C#でWin8で開発をしています。datagridのヘッダーの文字列を中央寄せにするにはXAMLを

<DataGrid.ColumnHeaderStyle>
    <Style TargetType="DataGridColumnHeader">
       <Setter Property="HorizontalContentAlignment" Value="Center"/>
    </Style>
</DataGrid.ColumnHeaderStyle>

と書けばできたのですが、実際の数字を入れるCellを左寄せにしたいのですが、デフォルトの右寄せからうまくいきません。
教えてくださいお願いします。

  • タイトルは質問の内容がわかるようなものにしてください。 -
  • すいません。気をつけます。 -

回答

ElementStyleで指定します。例えばDataGridTextColumnなら以下の様な具合に<DataGridTextColumn.ElementStyle>を間に追加します。

<DataGridTextColumn ~属性は省略~>
  <DataGridTextColumn.ElementStyle>
    <Style TargetType="{x:Type TextBlock}">
      <Setter Property="TextAlignment" Value="Left" />
    </Style>
  </DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
編集 履歴 (0)
  • ご親切にありがとうございます。あと、1つわからないことがあり、DataGridの横幅を400でCellの横幅を80づつ計5セルに設定して、左端が少し空白の列ができるのはどうしてでしょうか。よろしくおねがいします。 -
  • 行ヘッダの事でしょうか? DataGridのHeaderVisibilityをDataGridHeadersVisibility.Columnにすれば列ヘッダだけにできますよ。(プロパティウィンドウのヘッダの中にあります) -
  • 大変ご連絡が遅くなり、大変失礼しました。なんとか解決できました。ありがとうございます。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。