加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

xaml – Wrap TextBlock的最大行数

发布时间:2020-12-13 21:19:29 所属栏目:Windows 来源:网络整理
导读:我有一个TextBlock,具有以下设置: TextWrapping="Wrap" 我可以确定最大行数吗? 例如考虑以下字符串TextBlock.Text: This is a very good horse under the blackboard!! 它目前已经显示如下: This is a very good horse under the blackboard!! 我需要这
我有一个TextBlock,具有以下设置:
TextWrapping="Wrap"

我可以确定最大行数吗?

例如考虑以下字符串TextBlock.Text:

This is a very good horse under the blackboard!!

它目前已经显示如下:

This is a very 
good horse under 
the blackboard!!

我需要这样做:

This is a very 
good horse ...

任何解决方案?

如果您有一个特定的LineHeight,您可以计算TextBlock的最大高度。

例:

TextBlock最多3行

<TextBlock 
  Width="300"
  TextWrapping="Wrap" 
  TextTrimming="WordEllipsis" 
  FontSize="24" 
  LineStackingStrategy="BlockLineHeight"
  LineHeight="28"
  MaxHeight="84">YOUR TEXT</TextBlock>

这就是让你的需求工作所需要的。

如何动态地做这个?

只需在C#/ VB.NET中创建一个扩展TextBlock并给它一个新的DependencyProperty int MaxLines的新控件。
然后覆盖OnApplyTemplate()方法,并根据LineHeight * MaxLines设置MaxHeight。

这只是一个关于如何解决这个问题的基本解释!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读