首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

WPF,DataGrid怎么设置列标题分割线的颜色

2013-09-07 
WPF,DataGrid如何设置列标题分割线的颜色如题..................如何设置Name和Age之间分割线的颜色[解决

WPF,DataGrid如何设置列标题分割线的颜色
如题..................
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}">  


[解决办法]
参考:http://www.cnblogs.com/GeneralKING/archive/2012/11/20/2779486.html

热点排行