我有两个文本框。我想将一个自定义文本设置为第一个文本,如果它太长,无法完全显示,我希望继续到第二个文本框,如果需要的话,再继续第三个文本框。
我怎么能这么做?是否有一种方法可以知道文本是否会被截断或包装在文本块中?
谢谢你的帮助!
发布于 2015-03-06 10:44:36
没有开箱即用的解决方案。您可以尝试的是读取textbox的长度(ActualWidth属性),看看这是否比它所在的容器更长。
对于大多数字体来说,检查字符串的长度不是一个有效的选项,因为在大多数字体中,W占用的空间比I占用的空间更大。
if (TextBlock1.ActualWidth > 100)
{
TextBlock2.text = yourtext;
}确保文本包装设置为false。
发布于 2015-03-06 10:19:57
您不需要它),您只需将第一个TextWrapping属性的第一个TextBlock设置为"Wrap“,它就能正常工作了!
<TextBlock Text="Long text here" TextWrapping="Wrap"/>编辑
将全文放到TextBlock1上。TextBlock限制在这里是50,你可以设置它的多少,你想。
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;
}希望能帮上忙。
https://stackoverflow.com/questions/28895873
复制相似问题