0

列を動的に生成し、ここのようにヘッダーを伸ばしたい

ここに画像の説明を入力

一般に、列には異なる名前を付けることができるため、固定を設定することはできませんMinWidth。を変更してDataGrid.ColumnHeaderStyle、ヘッダー テキストの横余白などを設定することはできますか? ここに私のXAMLがあります:

<DataGrid x:Name="ResultDataGrid" Margin="2"
    ItemsSource="{Binding MyData, Mode=OneWay}"
    DisplayMemberPath="Persons"
    SelectedItem="{Binding SelectedPerson}"
    GridLinesVisibility="None" 
    AutoGenerateColumns="False" 
    CanUserAddRows="False" 
    CanUserDeleteRows="False" 
    CanUserReorderColumns="False"
    IsReadOnly="True"
    SelectionMode="Single"
    AllowDrop="True">
    <DataGrid.ColumnHeaderStyle>
        <Style TargetType="{x:Type DataGridColumnHeader}">
            <Setter Property="HorizontalContentAlignment" Value="Center" />
            <Setter Property="Height" Value="25" />
            <Setter Property="FontWeight" Value="Black" />
            <Setter Property="SeparatorBrush" Value="LightGray" />
        </Style>
    </DataGrid.ColumnHeaderStyle>
</DataGrid>     
4

1 に答える 1

1

左/右マージンを設定して変更する別のものを追加できSetterますStyleContentTemplateTextBlock

<DataGrid.ColumnHeaderStyle>
   <Style TargetType="{x:Type DataGridColumnHeader}">
      <Setter Property="HorizontalContentAlignment" Value="Center" />
      <Setter Property="Height" Value="25" />
      <Setter Property="FontWeight" Value="Black" />
      <Setter Property="SeparatorBrush" Value="LightGray" />
      <Setter Property="ContentTemplate">
         <Setter.Value>
            <DataTemplate>
               <TextBlock Text="{Binding}" Margin="20,0"/>
            </DataTemplate>
         </Setter.Value>
      </Setter>
   </Style>
</DataGrid.ColumnHeaderStyle>
于 2014-11-12T12:48:20.587 に答える