![](/img/trans.png)
[英]wpf: expecting Double.Nan - strange behavior of Frameworkelement Layout value
[英]WPF DataGridColumn won't let me set “.width = double.NaN” for auto-sizing columns. “Value should not be infinity” error?
我有WPF DataGrid,並在后面的代碼中手動設置列。 我正在嘗試使用以下代碼將列大小設置為“自動”:
customBoundColumn.Width = double.NaN;
但是,然后在運行時出現以下錯誤:
值不應該是無限的。 參數名稱:value
我在許多地方都讀過double.NaN是用來將列大小設置為auto的。 我究竟做錯了什么?
PS customBoundColumn是DataGridBoundColumn的一個實例
我相信您可以簡單地使用DataGridLength.Auto
將寬度設置回Auto
customBoundColumn.Width = DataGridLength.Auto;
在.Net 4.0之前的版本中,datagrid列的寬度設置為
customBoundColumn.Width = new DataGridLength(0, DataGridLengthUnitType.Auto);
我不確定.Net 4.0中是什么。
對於所有FrameworkElement派生的類,默認的默認寬度和高度均為Auto,而dataGrid列的默認寬度和高度均為Auto。 那么,為什么需要在后面的代碼中顯式設置它?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.