WPF设置DataGrid行内容高度自适应 TextBox/TextBlock内容高度自适应
参考:
DataGrid 控件中的调整大小选项:
ActualHeight与LayoutUpdated: 问题:DataGrid中的数据通过DataTemplate绑定,在列A显示一个文本框,文本框中内容可能包含多条(通过"\r\n"换行),现在行高需要自适应内容高度。
方法一:根据ActualHeight设置Textblock的Height
ActualHeight为元素的实际高度,与控件实际高度Height不同。
在页面的LayoutUpdated事件里,设置TextBlock控件的Height等于其自身的ActualHeight。
效果: 在DataGrid的行中没有起作用。
Actual在其他地方可能会有奇效。
方法二:在页面的LayoutUpdated事件里,设置DataGrid的RowHeight=double.NaN
效果: 实现行高自适应高度,
缺点,每行都会采取最高行的高度。