试图在DataGrid ColumnHeader中更改BorderThickness

时间:2014-10-10 10:06:01

标签: c# wpf xaml datagrid mahapps.metro

我使用名为MahApps Metro的软件包,我正在尝试更改DataGrid的样式以更改ColumnHeader的默认BorderThickness。

可以在此处找到MahApps metro DataGrid控件:https://github.com/MahApps/MahApps.Metro/blob/master/MahApps.Metro/Styles/Controls.DataGrid.xaml

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

<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”不起作用,显然..

1 个答案:

答案 0 :(得分:0)

如果你看一下那里的风格,你就无法通过绑定明确访问BorderThickness。由于你有这种风格,你可以添加这一行

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