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測定技術はTextBoxでも機能するはずです-コードからテキストブロックを作成する場合、ロード時にテキストボックの高さと幅を計算する方法は?

制限を超えるまでテキストの量を増やしながら、ActualHeightを測定する必要があります。

于 2013-02-03T20:18:38.300 に答える