Taka zagwozdka początkującego programisty .NET:

chciałbym utworzyć niestandardowy nagłówek w DataGrid, ale nie wiem, jak połączyć niektóre właściwości z szablonu DataGridColumnHeader (BorderBrush, BorderThickness z Themes:DataGridHeaderBorder) z właściwościami na DataGridTextColumn - tam takich właściwości nie ma.

plik xaml:

        <DataGrid x:Name="orderDataGrid" ItemsSource="{Binding}">
            <DataGrid.Columns>
                <DataGridTextColumn x:Name="orderIdColumn" Binding="{Binding OrderId}" Header="Nr zam."/>
                <DataGridTextColumn x:Name="descriptionColumn" Binding="{Binding Description}" Header="Opis"/>
                <DataGridTextColumn x:Name="custIdColumn" Binding="{Binding CustId}" Header="Nr klienta"/>
                <DataGridTextColumn x:Name="firstNameColumn" Binding="{Binding Customer.FirstName}" Header="Imię"/>
                <DataGridTextColumn x:Name="LastNameColumn" Binding="{Binding Customer.LastName}" Header="Nazwisko"/>                
            </DataGrid.Columns>
        </DataGrid>

szablon DataGridColumnHeader:

    <Style TargetType="{x:Type DataGridColumnHeader}">
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
                    <Grid>
                        <Themes:DataGridHeaderBorder BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" IsClickable="{TemplateBinding CanUserSort}" IsPressed="{TemplateBinding IsPressed}" IsHovered="{TemplateBinding IsMouseOver}" Padding="{TemplateBinding Padding}" SortDirection="{TemplateBinding SortDirection}" SeparatorBrush="{TemplateBinding SeparatorBrush}" SeparatorVisibility="{TemplateBinding SeparatorVisibility}">
                            <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Themes:DataGridHeaderBorder>
                        <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>
    </Style>