WPF DataGridColumn не позволит мне установить «.width = double.NaN» для авторазмера столбцов. Ошибка «Значение не должно быть бесконечностью»? - PullRequest
2 голосов
/ 05 октября 2011

У меня есть WPF DataGrid, и я устанавливаю столбцы вручную в коде позади.Я пытаюсь установить размер столбца Авто со следующим кодом:

customBoundColumn.Width = double.NaN;

Но тогда во время выполнения я получаю следующую ошибку:

Значение не должно быть бесконечностью,Имя параметра: значение

Я прочитал во многих местах, что double.NaN - это то, что используется для установки размера столбца на авто.Что я делаю не так?

PS customBoundColumn является экземпляром DataGridBoundColumn

Ответы [ 3 ]

4 голосов
/ 05 октября 2011

Полагаю, вы можете просто использовать DataGridLength.Auto, чтобы установить ширину обратно Auto

customBoundColumn.Width = DataGridLength.Auto;
3 голосов
/ 05 октября 2011

В версиях, предшествующих .Net 4.0, ширина столбца таблицы данных установлена ​​как

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

Я не уверен, что это такое в .Net 4.0.

0 голосов
/ 05 октября 2011

Ширина и высота по умолчанию - Авто для всех производных от FrameworkElement классов, а также для столбцов dataGrid. Итак, почему вам нужно явно установить это в коде позади?

...