【问题标题】:WPF Datagrid - aligning cell text with header textWPF Datagrid - 将单元格文本与标题文本对齐
【发布时间】:2017-09-19 14:29:46
【问题描述】:

有没有办法将标题文本与其下方单元格的文本对齐?

我的数据网格看起来像这样,文本没有像我预期的那样排列。 (Datagrid 控件是橙色线内的所有内容 - 忽略其外的文本)

我的 XAML 是这样的

<DataGrid Margin="0,0,0,5" Height="Auto" Width="auto" Block.TextAlignment="Left"  AutoGenerateColumns="False" HeadersVisibility="Column"  IsReadOnly="True"   >
    <DataGrid.Columns>
        <DataGridTextColumn Header="Document Category"  Binding="{Binding categpry}"   />
        <DataGridTextColumn Header="Distinct ID" Binding="{Binding distinctIDCount}"  />
        <DataGridTextColumn Header="Occurence (%)"  Binding="{Binding percent, Converter={StaticResource roundPercent} }"  />
    </DataGrid.Columns>
</DataGrid>

【问题讨论】:

  • 您要修改标题还是行?标题样式应该可以通过 DataGridTemplateColumn.HeaderStyle stackoverflow.com/questions/8414725/…
  • @AryanFirouzyan 我想该行,因为我认为标题文本在靠近左边缘时看起来不会很好。
  • 所以你需要自定义DataGridTemplateColumn.CellTemplate。 stackoverflow.com/questions/15175546/…
  • @AryanFirouzyan DataGridTemplateColumn 是否替换了我现有的 DataGridTextColumn?
  • @erotavlas 如果你采用这种方法,那么是的,你需要更换你的 TextColumn

标签: c# wpf xaml


【解决方案1】:

你可以在这里有一个 ElementStyle。

<DataGridTextColumn.ElementStyle>
    <Style TargetType="TextBlock">
        <Setter Property="HorizontalAlignment" Value="Right" />
    </Style>
</DataGridTextColumn.ElementStyle>

这里我只是将它水平向右对齐,但您可以完全自定义您的TextBlockDataGrid 正在使用TextBlock 来呈现此列的单元格)

【讨论】:

    猜你喜欢
    • 2018-07-07
    • 2018-04-29
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    相关资源
    最近更新 更多