Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Gridview标题样式_C#_Wpf_Listview_Gridview_Header - Fatal编程技术网

C# Gridview标题样式

C# Gridview标题样式,c#,wpf,listview,gridview,header,C#,Wpf,Listview,Gridview,Header,很长一段时间以来,我一直在努力重新设置Gridview标题的样式。我想获得一个简单的网格,标题周围有边框。 通过更改HeaderContainerStyle和HeaderTemplate,我最终得到了一个文本框和实际标题内的边框,如下所示: 我想以这样的方式结束: 这就是我迄今为止所尝试的: <GridViewColumn.HeaderTemplate> <DataTemplate> <Border BorderThickness="1

很长一段时间以来,我一直在努力重新设置Gridview标题的样式。我想获得一个简单的网格,标题周围有边框。 通过更改HeaderContainerStyle和HeaderTemplate,我最终得到了一个文本框和实际标题内的边框,如下所示:

我想以这样的方式结束:

这就是我迄今为止所尝试的:

<GridViewColumn.HeaderTemplate>
    <DataTemplate>
        <Border BorderThickness="1 1 0 1" BorderBrush="Black" >
            <DockPanel LastChildFill="True" >
                <TextBlock Text="{Binding}" HorizontalAlignment="Stretch"/>
            </DockPanel>
         </Border>
     </DataTemplate>
</GridViewColumn.HeaderTemplate>

我必须改变什么才能得到想要的结果


谢谢

您可以通过定义自己的自定义DataGridColumnHeader样式来更改列标题的外观。请参考以下示例标记。它应该给你一个想法

<DataGrid>
    <DataGrid.Resources>
        <Style x:Key="ColumnHeaderGripperStyle" TargetType="{x:Type Thumb}">
            <Setter Property="Width" Value="8"/>
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="Cursor" Value="SizeWE"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Thumb}">
                        <Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </DataGrid.Resources>
    <DataGrid.Columns>
        <DataGridTextColumn Header="Header..." Binding="{Binding}">
            <DataGridTextColumn.HeaderStyle>
                <Style TargetType="{x:Type DataGridColumnHeader}">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
                                <Grid>
                                    <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}">
                                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                                    </Border>
                                    <Thumb x:Name="PART_LeftHeaderGripper" HorizontalAlignment="Left" Style="{StaticResource ColumnHeaderGripperStyle}"/>
                                    <Thumb x:Name="PART_RightHeaderGripper" HorizontalAlignment="Right" Style="{StaticResource ColumnHeaderGripperStyle}"/>
                                </Grid>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                    <Setter Property="Background" Value="LightGreen" />
                    <Setter Property="Foreground" Value="Maroon" />
                    <Setter Property="Padding" Value="5" />
                    <Setter Property="TextBlock.FontWeight" Value="SemiBold" />
                </Style>
            </DataGridTextColumn.HeaderStyle>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

您与GridViewColumnHeader一起使用的示例成功了!谢谢你的帮助!