C# 尝试更改DataGrid ColumnHeader中的BorderThickness
我正在使用一个名为MahApps Metro的包,我正在尝试更改DataGrid的样式,以更改ColumnHeader的默认边框厚度 MahApps metro数据网格控件可在以下位置找到: 我尝试使用自定义样式访问的部分是: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
<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代码,您还可以询问为什么列标题不公开边框厚度。