WPF,DataGrid如何设置列标题分割线的颜色
如题..................
如何设置Name和Age之间分割线的颜色
[解决办法]
这个你要重写DataGridColumnHeader的模板的。对一个列头用一个三行三列的Grid作为模板。然后至于分隔线,随便你自己怎么设置了。
下面一个很简单的例子,你可以参考下面代码实现自己想要的样式,如加背景色,渐变等。
<Style TargetType="DataGridColumnHeader" x:Key="DataGridHeaderStyleSample" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridColumnHeader">
<Grid Name="Root">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Rectangle x:Name="BackgroundRectangle" Stretch="Fill" Fill="AliceBlue" Grid.ColumnSpan="2" Grid.RowSpan="2" />
<ContentPresenter x:Name="HeaderText" Grid.RowSpan="2" Content="{TemplateBinding Content}" Cursor="{TemplateBinding Cursor}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}" />
<Rectangle Name="VerticalSeparator" Grid.RowSpan="2" Grid.Column="2" Width="1" VerticalAlignment="Stretch" Fill="Blue" Visibility="Visible" /><!--这里的Fill就可以设置分隔线的颜色-->
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
......
<DataGrid ColumnHeaderStyle="{StaticResource DataGridHeaderStyleSample}">