WPF設置DataGrid行內容高度自適應 TextBox/TextBlock內容高度自適應
參考:
DataGrid 控件中的調整大小選項: http://msdn.microsoft.com/zh-cn/library/gg263825(v=vs.110).aspx
ActualHeight與LayoutUpdated: http://wpf.2000things.com/tag/actualheight/
問題:DataGrid中的數據通過DataTemplate綁定,在列A顯示一個文本框,文本框中內容可能包含多條(通過"\r\n"換行),現在行高需要自適應內容高度。
方法一:根據ActualHeight設置Textblock的Height
ActualHeight為元素的實際高度,與控件實際高度Height不同。
在頁面的LayoutUpdated事件里,設置TextBlock控件的Height等於其自身的ActualHeight。
效果: 在DataGrid的行中沒有起作用。
Actual在其他地方可能會有奇效。
方法二:在頁面的LayoutUpdated事件里,設置DataGrid的RowHeight=double.NaN
效果: 實現行高自適應高度,
缺點,每行都會采取最高行的高度。