我有一个 WPF DataGrid,我在后面的代码中手动设置列。我正在尝试使用以下代码将列大小设置为 Auto:
customBoundColumn.Width = double.NaN;
但是在运行时我收到以下错误:
值不应该是无穷大。参数名称:值
我在很多地方读到 double.NaN 用于将列大小设置为自动。我究竟做错了什么?
PS customBoundColumn 是 DataGridBoundColumn 的一个实例
我有一个 WPF DataGrid,我在后面的代码中手动设置列。我正在尝试使用以下代码将列大小设置为 Auto:
customBoundColumn.Width = double.NaN;
但是在运行时我收到以下错误:
值不应该是无穷大。参数名称:值
我在很多地方读到 double.NaN 用于将列大小设置为自动。我究竟做错了什么?
PS customBoundColumn 是 DataGridBoundColumn 的一个实例
我相信您可以简单地使用DataGridLength.Auto
将宽度设置回Auto
customBoundColumn.Width = DataGridLength.Auto;
在 .Net 4.0 之前的版本中,数据网格列的宽度设置为
customBoundColumn.Width = new DataGridLength(0, DataGridLengthUnitType.Auto);
我不确定 .Net 4.0 中的内容是什么。
对于所有 FrameworkElement 派生类,默认宽度和高度是 Auto,对于 dataGrid 列也是如此。那么,为什么需要在后面的代码中显式设置呢?