WPF设置DataGrid行内容高度自适应 与 TextBox/TextBlock内容高度自适应

时间:2023-12-24 18:10:07

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

效果: 实现行高自适应高度,

    缺点,每行都会采取最高行的高度。