Search code examples
c#wpfxamlwpfdatagrid

How to adjust datagrid column


I have DataGrid on WPF and connected with MS Access database. MS Access filled my DataGrid. How can I adjust my column width? For instance first column widgh="2*" , second column widgh="*"etc. Thank you!


Solution

  • Define the columns explictily in your XAML and set AutoGenerateColumns to false:

    <DataGrid AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTextColumn Header="..." Binding="{Binding Column1}" Width="1*" />
            <DataGridTextColumn Header="..." Binding="{Binding Column2}" Width="2*" />
        </DataGrid.Columns>
    </DataGrid>
    

    Or handle the AutoGeneratingColumn event:

    private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
    {
        //...
        e.Column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
    }