tags:

views:

50

answers:

2

How come whenever I override the default template for a DataGridColumnHeader it can no longer be resized by the user even though CanUserResizeColumns is set to true for the datagrid? Is there something that I need to add to the template to restore this functionality?

Here's my template xaml:

<Style x:Key="ColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="DataGridColumnHeader">
                    <Border BorderThickness="1" Margin="-1,0,0,0"  Background="#f9f9f9" BorderBrush="Gray">
                        <Grid>
                            <TextBlock Margin="2" Text="{TemplateBinding  Content}"  VerticalAlignment="Center" 
                                HorizontalAlignment="Left"  TextWrapping="Wrap"/>                           
                        </Grid>
                    </Border>                        
                </ControlTemplate>
            </Setter.Value>
        </Setter>
A: 

Add the Thumb control to the template. You haven't posted template markup code, but you can check this post for complete example.

Artem K.
I posted my template code. I'm curious though, can this be done without doing any code behind? I use this template all over my project, so I'd have multiple copies of the same method.
wangburger
A: 

Check out: WPF Toolkit DataGrid, Part II – Custom styling

You can download sample code here to style a DataGridColumnHeader in XAML.

Zamboni