如何在运行时从代码后面获取自动生成的列宽(dataGrid)

时间:2014-11-12 17:18:49

标签: c# wpf

在Winforms中有一个简单的dataGridView.Columns [0] .Width,但是如何在WPF中做到这一点?

调试时,我会在每一栏中看到这一点

enter image description here

这完全是不真实的,因为我的列比20宽(像素,我假设)。

2 个答案:

答案 0 :(得分:1)

您需要ActualWidth,它是列的实际测量宽度。通常宽度更多是偏好而不是硬值。

答案 1 :(得分:0)

由于列是自动生成的,因此在dataGrid的AutoGeneratedColumns事件中

 TestDataGrid.AutoGeneratingColumn += (s, e) =>
                     {
                       if (e.Column.Header.ToString() == "YourColumnName")
                         e.Column.Width = new DataGridLength(1,
                                           DataGridLengthUnitType.
                                             Star);
                     };