WPF中DataGrid实现行高自适应

在 WPF 中,DataGrid 默认情况下行高是固定的。如果要实现 DataGrid 的行高自适应(根据行中内容动态调整行高),可以通过 LayoutUpdated 事件实现。

<Grid Margin="15,10">
    <Grid.RowDefinitions>
        <RowDefinition Height="50"/>
        <RowDefinition Height="1*"/>
    </Grid.RowDefinitions>

    <DataGrid Grid.Row="1"
              x:Name="DataGridMain"
              LayoutUpdated="DataGridMain_OnLayoutUpdated">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Code}" Header="编号"/>
        </DataGrid.Columns>
    </DataGrid>
</Grid>

private void DataGridMain_OnLayoutUpdated(object? sender, EventArgs e)
{
    DataGridMain.RowHeight = double.NaN;
}

在这里,编号内容添加了换行符(Environment.NewLine),DataGrid 的每行会根据编号内容自动设置行高。

posted @ 2025-02-19 11:41  xhubobo  阅读(411)  评论(0)    收藏  举报