2

我有一个 WPF DataGrid,我在后面的代码中手动设置列。我正在尝试使用以下代码将列大小设置为 Auto:

customBoundColumn.Width = double.NaN;

但是在运行时我收到以下错误:

值不应该是无穷大。参数名称:值

我在很多地方读到 double.NaN 用于将列大小设置为自动。我究竟做错了什么?

PS customBoundColumn 是 DataGridBoundColumn 的一个实例

4

3 回答 3

4

我相信您可以简单地使用DataGridLength.Auto将宽度设置回Auto

customBoundColumn.Width = DataGridLength.Auto;
于 2011-10-05T13:37:03.880 回答
3

在 .Net 4.0 之前的版本中,数据网格列的宽度设置为

         customBoundColumn.Width = new DataGridLength(0, DataGridLengthUnitType.Auto);

我不确定 .Net 4.0 中的内容是什么。

于 2011-10-05T19:15:33.463 回答
0

对于所有 FrameworkElement 派生类,默认宽度和高度是 Auto,对于 dataGrid 列也是如此。那么,为什么需要在后面的代码中显式设置呢?

于 2011-10-05T07:07:16.370 回答