在C#WPF中,如何在数据网格头之间放置垂直线
我有一个DataGrid,我尝试在标题中放置垂直线-就像DataGrid具有放置垂直和水平网格线的功能一样。。但是,我怎么能用网格线来分隔标题呢?现在我有在C#WPF中,如何在数据网格头之间放置垂直线,c#,wpf,datagrid,C#,Wpf,Datagrid,我有一个DataGrid,我尝试在标题中放置垂直线-就像DataGrid具有放置垂直和水平网格线的功能一样。。但是,我怎么能用网格线来分隔标题呢?现在我有 <DataGrid.Resources> <Style TargetType="{x:Type DataGridColumnHeader}"> <Setter Property="Background" Value="LightBlu
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="LightBlue" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="FontSize" Value="18" />
<Setter Property="FontFamily" Value="Calibri" />
</Style>
</DataGrid.Resources>
使用HeaderTemplate。实现这一点的快速方法:
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}"
Header="{Binding HeaderName}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<Border BorderThickness="0,0,1,0"
BorderBrush="Black">
<TextBlock Text="{Binding Content, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Margin="5"/>
</Border>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
使用HeaderTemplate。实现这一点的快速方法:
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}"
Header="{Binding HeaderName}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<Border BorderThickness="0,0,1,0"
BorderBrush="Black">
<TextBlock Text="{Binding Content, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Margin="5"/>
</Border>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
DataGridColumnHeader
是一个按钮库
,您可以设置其边框厚度
和边框笔刷
的样式以实现您想要的效果,您也可能希望标题居中,因此我们还需要设置HorizontalContentAlignment
:
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="LightBlue" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="FontSize" Value="18" />
<Setter Property="FontFamily" Value="Calibri" />
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="BorderThickness" Value="0,0,1,0"></Setter>
<Setter Property="BorderBrush" Value="Black"/>
</Style>
</DataGrid.Resources>
DataGridColumnHeader
是一个按钮库
,您可以设置其边框厚度
和边框笔刷
的样式以实现您想要的效果,您也可能希望标题居中,因此我们还需要设置HorizontalContentAlignment
:
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="LightBlue" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="FontSize" Value="18" />
<Setter Property="FontFamily" Value="Calibri" />
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="BorderThickness" Value="0,0,1,0"></Setter>
<Setter Property="BorderBrush" Value="Black"/>
</Style>
</DataGrid.Resources>