C# 尝试更改DataGrid ColumnHeader中的BorderThickness

C# 尝试更改DataGrid ColumnHeader中的BorderThickness,c#,wpf,xaml,datagrid,mahapps.metro,C#,Wpf,Xaml,Datagrid,Mahapps.metro,我正在使用一个名为MahApps Metro的包,我正在尝试更改DataGrid的样式,以更改ColumnHeader的默认边框厚度 MahApps metro数据网格控件可在以下位置找到: 我尝试使用自定义样式访问的部分是: <Border x:Name="BackgroundBorder" BorderThickness="0,0,0,3" Grid.ColumnSpan="2" Background="{TemplateBinding

我正在使用一个名为MahApps Metro的包,我正在尝试更改DataGrid的样式,以更改ColumnHeader的默认边框厚度

MahApps metro数据网格控件可在以下位置找到:

我尝试使用自定义样式访问的部分是:

<Border x:Name="BackgroundBorder"
        BorderThickness="0,0,0,3"
        Grid.ColumnSpan="2"
        Background="{TemplateBinding Background}"
        BorderBrush="{TemplateBinding BorderBrush}" />

目前我有:

<Style TargetType="DataGridColumnHeader" x:Key="GeledigdHeader" BasedOn="{StaticResource MetroDataGridColumnHeader}">
    <Setter Property="HorizontalContentAlignment" Value="Right"/>
    <Setter Property="BorderBrush" Value="#953735"/>
</Style>


这会正确地更改颜色,但现在我想更改厚度,仅使用Property=“BorderThickness”显然不起作用。

如果您查看那里的样式,则无法通过绑定明确访问BorderThickness。既然您有了样式,就可以将这一行添加到其中

<Border x:Name="BackgroundBorder"
        BorderThickness="0,0,0,3"
        Grid.ColumnSpan="2"
        Background="{TemplateBinding Background}"
        BorderBrush="{TemplateBinding BorderBrush}" 
        BorderThickness="{TemplateBinding BorderThickness}"/>


我不想编辑MahApps metro控件本身,因为每次更新后我都必须再次编辑。唯一的替代方法是以您的样式更改控件模板,或者在代码中执行此操作,按名称或我认为的构造查找元素。虽然我相信最佳实践是,如果您不喜欢某个控件模板,您可以添加自己的样式来更改该控件模板。由于这是github代码,您还可以询问为什么列标题不公开边框厚度。