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

本文介绍如何实现WPF中DataGrid的行高自适应功能,特别是当单元格内的TextBox内容有多行时,确保行高能自动适应内容高度。提供了两种方法:通过设置TextBlock的Height为ActualHeight及将DataGrid的RowHeight设为double.NaN。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

转载于:https://www.cnblogs.com/maomiyouai/p/3557349.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值