调整已设置样式的WPF DataGrid的列大小

调整已设置样式的WPF DataGrid的列大小,wpf,wpf-controls,wpfdatagrid,wpf-style,Wpf,Wpf Controls,Wpfdatagrid,Wpf Style,我有自定义样式的DataGrid,我在重新调整列的大小时遇到问题,因为它只在光标正好位于两列之间时才起作用 下面是设置DataGridColumnHeader的部分样式 <Style TargetType="{x:Type DataGridColumnHeader}"> <Setter Property="VerticalContentAlignment" Value="Center"/> <Setter Property="Horizont

我有自定义样式的DataGrid,我在重新调整列的大小时遇到问题,因为它只在光标正好位于两列之间时才起作用

下面是设置DataGridColumnHeader的部分样式

    <Style TargetType="{x:Type DataGridColumnHeader}">
    <Setter Property="VerticalContentAlignment" Value="Center"/>
    <Setter Property="HorizontalContentAlignment" Value="Center"/>
    <Setter Property="Foreground" Value="White"/>
    <Setter Property="FontFamily" Value="Segoue UI"/>
    <Setter Property="FontSize" Value="14"/>
    <Setter Property="Height" Value="40"/>

    <Setter Property="Template">

        <Setter.Value>
            <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
                <Grid>
                    <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="#6b6b6b">
                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                    </Border>

                    <Thumb x:Name="PART_RightHeaderGripper" HorizontalAlignment="Right" Style="{StaticResource ColumnHeaderGripperStyle}"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

像这样增加拇指的宽度:

 <Thumb x:Name="PART_RightHeaderGripper" Width="100" HorizontalAlignment="Right" Style="{StaticResource ColumnHeaderGripperStyle}"/>

您也可以在运行时更改它。这是一个例子

grd.Columns[1].Width =new DataGridLength(60); 

提到索引

谢谢你,这真的很有帮助