WPF

2016-05-27 13 views
2

私は、次のデータグリッドを持っているにDataGridTextColumnにパディングを追加します。これによりWPF

<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> 

列ヘッダに表示されるテキストの幅がテキストと同じ幅で、窮屈に見えます。

上記の例では、テキストの左右にパディングを追加して、ヘッダーの列をテキストより少し広くするにはどうすればよいですか?

+2

追加 '' DataGridColumnHeader'スタイル – Nkosi

答えて

-1

これはトリックですか?

<Style TargetType="{x:Type DataGridCell}"> 
    <Setter Property="Padding" Value="6 0"/> 
</Setter> 
+0

'にありません、これは任意の広いヘッダ列を変更しません。 –

1

パディングを列ヘッダースタイルに適用できます。

<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>