wpf datagrid row height 行高自动计算使每行行高自适应文本

wpf 的datagrid的行高 要么是Auto,要么是定值:但会带来麻烦就是每行行高都一样。

当需要按内容(主要是wrap 换行的textbox或textblock)来动态调整行高的时候,需要用到dataGrid的LoadingRow 事件。

参考两个网页:

http://stackoverflow.com/questions/9264398/how-to-calculate-wpf-textblock-width-for-its-known-font-size-and-characters

 

http://www.codeproject.com/Articles/5521/Advanced-DataGrid-sizing

 

代码注释详细,不做细谈。

代码如下:

 效果(每行行高都不一样,自适应了):

 

感谢每一位阅读此篇文章的人,希望可以帮到你。

 

2017年7月12日更新:

忘了当初为什么这么做了,好尴尬。但这么做的一个思想是文本区域大小计算吧。

发现wpf的textblock自带行高计算的。

只要将所有colume设置成模板列,textwrap属性设置成wrap就行了,这样也是可以的。测试程序源码如下:

https://files.cnblogs.com/files/lizhijian/datagrid%E8%A1%8C%E9%AB%98%E6%B5%8B%E8%AF%95.rar

 

posted @   灰主流  阅读(4167)  评论(4编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示