首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何知道文本对于文本块是否太长?

如何知道文本对于文本块是否太长?
EN

Stack Overflow用户
提问于 2015-03-06 09:34:04
回答 2查看 136关注 0票数 0

我有两个文本框。我想将一个自定义文本设置为第一个文本,如果它太长,无法完全显示,我希望继续到第二个文本框,如果需要的话,再继续第三个文本框。

我怎么能这么做?是否有一种方法可以知道文本是否会被截断或包装在文本块中?

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-06 10:44:36

没有开箱即用的解决方案。您可以尝试的是读取textbox的长度(ActualWidth属性),看看这是否比它所在的容器更长。

对于大多数字体来说,检查字符串的长度不是一个有效的选项,因为在大多数字体中,W占用的空间比I占用的空间更大。

代码语言:javascript
运行
复制
        if (TextBlock1.ActualWidth > 100)
        {
            TextBlock2.text = yourtext;
        }

确保文本包装设置为false。

票数 1
EN

Stack Overflow用户

发布于 2015-03-06 10:19:57

您不需要它),您只需将第一个TextWrapping属性的第一个TextBlock设置为"Wrap“,它就能正常工作了!

代码语言:javascript
运行
复制
<TextBlock Text="Long text here" TextWrapping="Wrap"/>

编辑

将全文放到TextBlock1上。TextBlock限制在这里是50,你可以设置它的多少,你想。

代码语言:javascript
运行
复制
string some = TextBlock1.Text;
if (some.Length > 50)
{
   TextBlock2.Text = some.Substring(50, some.Lenght - 50);
   some = some.Remove(51, some.Lenght - 50);
   TextBlock1.Text = some;
}

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28895873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档