开发者

WPF DataGridColumn won't let me set ".width = double.NaN" for auto-sizing columns. "Value should not be infinity" error?

开发者 https://www.devze.com 2023-04-10 13:16 出处:网络
I have a WPF DataGrid and I am setting up columns manually in code behind. I am trying to set the column size to Auto with the following code:

I have a WPF DataGrid and I am setting up columns manually in code behind. I am trying to set the column size to Auto with the following code:

customBoundColumn.Width = double.NaN;

But then at run-time I get th开发者_StackOverflow中文版e following error:

Value should not be infinity. Parameter name: value

I read in many places that double.NaN is what is used to set the column size to auto. What am I doing wrong?

P.S. customBoundColumn is an instance of DataGridBoundColumn


I believe you can simply use DataGridLength.Auto to set your width back to Auto

customBoundColumn.Width = DataGridLength.Auto;


In versions prior to .Net 4.0, the width of a datagrid column is set as

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

I am not sure what is it in .Net 4.0.


Deafult width and height is Auto for all FrameworkElement-derived classes and so is for dataGrid columns. So, why do you need to set it explicitly in code behind?

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号