繁体   English   中英

C#Wpf Datagrid最后一列宽度=“*”折叠其他列

[英]C# Wpf Datagrid Last Column Width=“*” Collapses Other Columns

我正在使用一个数据网格,它相对于窗口大小水平拉伸。

因为我想摆脱右侧生成的额外列,我将所有列大小设置为“自动”,除了最后一列。 我将最后一列的大小设置为“*”。

最后我摆脱了右侧生成的额外列。

但现在,当我使用信息填充数据网格时,除最后一列之外的所有列大小都会折叠到其标题宽度。

为什么列的标题宽度? 我将它们的宽度设置为“自动”,它们也应该尊重它们的单元格大小。

注意:我不想为列设置MinWidths,它们应根据列和单元格大小自动调整大小。

谢谢..

尝试使用以下代码:

private void FitToContent()
    {
        int numCols ;
        int i ;

        numCols = dg.Columns.Count() ;
        i = 0 ;

        // where dg is your data grid's name...
        foreach (DataGridColumn column in dg.Columns)
        {
            if(i < numCols - 1)
            { 
                //if you want to size ur column as per the cell content
                column.Width = new DataGridLength(1.0, DataGridLengthUnitType.SizeToCells);
                //if you want to size ur column as per the column header
                column.Width = new DataGridLength(1.0, DataGridLengthUnitType.SizeToHeader);
                //if you want to size ur column as per both header and cell content
                column.Width = new DataGridLength(1.0, DataGridLengthUnitType.Auto);
            }
            else
            {
                column.Width = new DataGridLength(1.0, DataGridLengthUnitType.Star);
            }
            i++ ;
        }
    }

确保将所有列的Horizo​​ntalScrollVisibility保持为Auto

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM