3

我有以下数据网格:

<DataGrid x:Name="RecodersSummary" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" BorderThickness ="1" IsReadOnly ="True" Loaded="RecordersSummary_Loaded" GridLinesVisibility="All" AutoGenerateColumns="False">
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}">
    <Setter Property="BorderBrush" Value="Black"/>
    <Setter Property="BorderThickness" Value="1,1,1,1"/>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
  <DataGridTextColumn Header="{DynamicResource Summary_FirstColumnHeader}"  Width="Auto" IsReadOnly="True"   Binding="{Binding Path=Summary}"/>
  <DataGridTextColumn Header="{DynamicResource Summary_SecondColumnHeader}" Width="Auto" IsReadOnly="True"  Binding="{Binding Path=Totals}"/>
  <DataGridTextColumn Header="{DynamicResource Summary_ThirdColumnHeader}" Width="Auto" IsReadOnly="True"  Binding="{Binding Path=Centralized}"/>
  <DataGridTextColumn Header="{DynamicResource Summary_ForthColumnHeader}" Width="Auto" IsReadOnly="True"  Binding="{Binding Path=Standalone}"/>
  <DataGridTextColumn Header="{DynamicResource Summary_FifthColumnHeader}" Width="Auto" IsReadOnly="True"  Binding="{Binding Path=Temporary}"/>
  <DataGridTextColumn Header="{DynamicResource Summary_SixthColumnHeader}" Width="Auto" IsReadOnly="True"  Binding="{Binding Path=Other}"/>
</DataGrid.Columns>

这样一来,列标题中显示的文本的宽度与文本的宽度相同,并且看起来很狭窄。

在上面的示例中,如何在文本的左侧和右侧添加填充以使标题列比文本宽一点?

4

2 回答 2

2

您可以将填充应用于列标题样式。

<DataGrid x:Name="RecodersSummary" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" BorderThickness ="1" IsReadOnly ="True" Loaded="RecordersSummary_Loaded" GridLinesVisibility="All" AutoGenerateColumns="False">
    <DataGrid.Resources>
        <Style x:Key="DataGrid_ColumnHeadStyle1" TargetType="{x:Type DataGridColumnHeader}">
            <Setter Property="BorderBrush" Value="Black"/>
            <Setter Property="BorderThickness" Value="1,1,1,1"/>
            <Setter Property="Padding" Value="12,6,12,6"/>
        </Style>
        <Style TargetType="{x:Type DataGrid}">
            <Setter Property="ColumnHeaderStyle" Value="{StatisResource DataGrid_ColumnHeadStyle1}"/>
        </Style>
    </DataGrid.Resources>
    <!-- code removed for brevity -->
</DataGrid>

您也可以直接将样式应用于网格。

<DataGrid x:Name="RecodersSummary" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" BorderThickness ="1" IsReadOnly ="True" Loaded="RecordersSummary_Loaded" GridLinesVisibility="All" AutoGenerateColumns="False">
    <DataGrid.ColumnHeaderStyle>
        <Style TargetType="{x:Type DataGridColumnHeader}">
            <Setter Property="BorderBrush" Value="Black"/>
            <Setter Property="BorderThickness" Value="1,1,1,1"/>
            <Setter Property="Padding" Value="12,6,12,6"/>
        </Style>
    </DataGrid.ColumnHeaderStyle>
    <!-- code removed for brevity -->
</DataGrid>
于 2016-05-27T10:15:10.763 回答
-1

这可以解决问题吗?

<Style TargetType="{x:Type DataGridCell}">
    <Setter Property="Padding" Value="6 0"/>
</Setter>
于 2016-05-27T09:56:20.317 回答