3

我有一个相对较大的文本。我需要将一定数量的此文本添加到文本框中,以便无需滚动即可看到它,然后将其余文本添加到另一个文本框,然后再添加另一个 -.-.-.> 循环生成尽可能多的文本框有必要的。

我的问题是我不知道如何找出每个文本框中有多少文本。到目前为止,我唯一能做的就是分配固定数量的适合页面的字符。但这不适用于不同的屏幕分辨率。有没有办法,技巧或解决方法可以用来计算有多少文本可以放入具有固定字体和字体大小但相对宽度和高度的文本框中?

int TextLength = 1000, PageStart = 0;

List<TextBox> Pages = new List<TextBox>();  
while (PageStart < TextLength) 
{
     TextBox p = new TextBox();
      if (PageStart + PageLength < TextLength)
      {
             p.PageText = Text.Substring(PageStart, PageLength);
             PageStart += PageLength;
             Pages.Add(p);
      }
      else
      {
             PageLength = TextLength - PageStart;
             p.PageText = Text.Substring(PageStart, PageLength);
             Pages.Add(p);
             break;
       }                      
  }
4

1 回答 1

1

使用 TextBlock 可能会更好。除此之外,TextBlock 测量技术也应该适用于 TextBoxes -如果我从代码创建文本块,如何计算加载时的文本框高度和宽度?

您需要在增加文本量的同时测量 ActualHeight,直到超出限制。

于 2013-02-03T20:18:38.300 回答