WPF DataGridColumn не позволит мне установить ".width = double.NaN" для авторазмера столбцов. Ошибка "Значение не должно быть бесконечностью"?
У меня есть WPF DataGrid, и я устанавливаю столбцы вручную в коде позади. Я пытаюсь установить размер столбца Авто с помощью следующего кода:
customBoundColumn.Width = double.NaN;
Но тогда во время выполнения я получаю следующую ошибку:
Значение не должно быть бесконечностью. Имя параметра: значение
Я читал во многих местах, что double.NaN - это то, что используется для установки размера столбца на авто. Что я делаю неправильно?
PS customBoundColumn является экземпляром DataGridBoundColumn
3 ответа
Я считаю, что вы можете просто использовать DataGridLength.Auto
чтобы вернуть ширину Auto
customBoundColumn.Width = DataGridLength.Auto;
В версиях до.Net 4.0 ширина столбца сетки данных устанавливается как
customBoundColumn.Width = new DataGridLength(0, DataGridLengthUnitType.Auto);
Я не уверен, что это в.Net 4.0.
Ширина и высота по умолчанию - Авто для всех производных от FrameworkElement классов, а также для столбцов dataGrid. Итак, почему вы должны установить это явно в коде позади?