Wpf DataGridHeader外部边缘上的渐变边框

Wpf DataGridHeader外部边缘上的渐变边框,wpf,xaml,datagrid,styles,Wpf,Xaml,Datagrid,Styles,见下图 这是一个用Qt在C++中创建的应用程序截取的屏幕截图。我需要通过向DataGrid标头的外部垂直边缘添加渐变边框来创建类似的外观,但我看不到DataGrid的属性允许我实现这一点。使用下面的DataGridColumnHeader样式,我获得了我想要的外观减去外部边缘上的边框。如何仅将这些边框添加到标题的外侧 <Style TargetType="{x:Type DataGridColumnHeader}"> <Setter Property="Templat

见下图

这是一个用Qt在C++中创建的应用程序截取的屏幕截图。我需要通过向DataGrid标头的外部垂直边缘添加渐变边框来创建类似的外观,但我看不到DataGrid的属性允许我实现这一点。使用下面的DataGridColumnHeader样式,我获得了我想要的外观减去外部边缘上的边框。如何仅将这些边框添加到标题的外侧

<Style TargetType="{x:Type DataGridColumnHeader}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="DataGridColumnHeader">
                <Border BorderBrush="{StaticResource ContentPanelHeaderBackgroundBrush}" 
                        BorderThickness="0,1,0,0"
                        CornerRadius="2,2,0,0">
                    <DockPanel Background="{StaticResource ContentPanelHeaderBackgroundBrush}" Width="auto">
                        <Border BorderThickness="0,1,0,0" DockPanel.Dock="Bottom" BorderBrush ="{StaticResource ContentPanelBottomBorderBrush}" />
                            <Grid Height="22">
                                <Grid.ColumnDefinitions>
                                     <ColumnDefinition Width="*" />
                                     <ColumnDefinition Width="Auto" />
                                </Grid.ColumnDefinitions>
                                <ContentPresenter VerticalAlignment="center" Margin="4" />
                            </Grid>
                    </DockPanel>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Setter Property="Padding" Value="4,0,4,0" />
    <Setter Property="Foreground" Value="{StaticResource FontActiveBrush}" />
    <Setter Property="FontFamily" Value="{StaticResource MainFont}" />
    <Setter Property="FontSize" Value="11" />
    <Setter Property="SnapsToDevicePixels" Value="True" />
    <Setter Property="HorizontalContentAlignment" Value="Left" />
    <Setter Property="MinWidth" Value="0" />
    <Setter Property="Height" Value="22" />
    <Setter Property="Cursor" Value="Hand" />
</Style>

我建议在运行时使用Snoop之类的工具检查XAML树。在我看来,在树的某个地方呈现了一个附加项,并应用了它的默认模板。由于您似乎没有覆盖树中的所有默认模板,因此我想您可以通过这种方式找到正确的元素(只需查找背景或边框为黑色的项目)


您可以在这里找到工具:

谢谢您的回复。这个工具看起来很有用。我已经更新了我的问题,以澄清我需要什么,因为该图像是我需要在WPF中模拟的现有应用程序的屏幕截图。