/ / Truncate texto em RichTextBox e TextBox - c #, wpf, exception

Truncar texto em RichTextBox e TextBox - c #, wpf, exception

estou usando RichTextBox e TextBox para mostrar algumas informações coletadas durante vários dias. Então, há um monte de cordas dentro dele depois de alguns dias e eu fico OutOfMemory exceção. Eu acho que esse erro ocorre por causa de muitos dados. Existem algumas propriedades ou funções que permitem limitar o número de cadeias dentro RichTextBox e TextBox? Eu preciso truncar apenas as strings antigas que estão no início da lista. Por exemplo, dê uma olhada na imagem abaixo:

insira a descrição da imagem aqui

Alguma ideia?

Respostas:

0 para resposta № 1

Eu criei um código simples que me permite resolver esse problema. Para TextBox:

if (limitLines>0 && simpleTextBox.LineCount > limitLines)
{
string tempText = "";
for (int i = simpleTextBox.LineCount-limitLines; i < simpleTextBox.LineCount; i++)
{
tempText += simpleTextBox.GetLineText(i);
}
simpleTextBox.Clear();
simpleTextBox.Text = tempText;

}
simpleTextBox.AppendText(data);

Para RichTextBox:

        TextRange tr = new TextRange(richTextBox.Document.ContentEnd, richTextBox.Document.ContentEnd);
tr.Text = text + "rn";
tr.ApplyPropertyValue(TextElement.ForegroundProperty, solidColorBrush);

if (limitLines > 0 && richTextBox.Document.Blocks.Count > limitLines)
{
for (int i = richTextBox.Document.Blocks.Count - limitLines; i < richTextBox.Document.Blocks.Count; i++)
richTextBox.Document.Blocks.Remove(richTextBox.Document.Blocks.FirstBlock);
}

Espero que ajude a outra pessoa!