且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

WPF 自定义数据网格列标题

更新时间:2023-02-20 17:01:26

DataGridTemplateColumn 正是您要找的.您可以根据需要自定义模板 -

DataGridTemplateColumn is what you are looking for. You can customize the template as per your need -

 <DataGrid>
       <DataGrid.Columns>
           <DataGridTemplateColumn>
               <DataGridTemplateColumn.CellTemplate>
                   <DataTemplate>
                      <TextBox BorderBrush="Red" BorderThickness="3" Margin="5"/>
                   </DataTemplate>
               </DataGridTemplateColumn.CellTemplate>
           </DataGridTemplateColumn>
       </DataGrid.Columns>
    </DataGrid>

使用示例 ItemsSource 它给出了这样的外观 -

With sample ItemsSource it gives this look -

编辑

如果您想自定义标题,则需要像这样为您的列提供 HeaderTemplate -

In case you want to customize the header, you need to provide HeaderTemplate for your column like this -

   <DataGrid>
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Name}"
                                Header="{Binding HeaderName}">
                <DataGridTextColumn.HeaderTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="{Binding Content, RelativeSource=
                                         {RelativeSource Mode=TemplatedParent}}"
                                       Margin="5"/>
                            <TextBox BorderBrush="Red" BorderThickness="3"
                                     Width="50" Margin="5"/>
                        </StackPanel>
                    </DataTemplate>
                </DataGridTextColumn.HeaderTemplate>
            </DataGridTextColumn>
        </DataGrid.Columns>
    </DataGrid>

这是外观-