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. Итак, почему вы должны установить это явно в коде позади?

Другие вопросы по тегам