WPF中输出文本框的行限制

本文关键字:输出 文本 WPF | 更新日期: 2023-09-27 18:28:19

我的应用程序中有一个文本框输出。我想添加一个功能,当文本框达到一定的限制时,比如100行,就会开始删除旧的行。我该怎么做?

我正在使用AppendText和ScrollToEnd方法来更新我的文本框。

谢谢。

代码:这里没有什么特别的。

xaml-

<TextBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto" Margin="12,6,6,12" x:Name="Output" IsReadOnly="True" Grid.Row="1" />

xaml.cs

private void WorkerProgressChanged(object sender, ProgressChangedEventArgs e)
{
    Output.AppendText(string.Format("{0} --- {1}", DateTime.Now, e.UserState));
    Output.ScrollToEnd();
}

WPF中输出文本框的行限制

此代码是为Winform应用程序编写的,但您也可以在wpf应用程序中使用它:-

             private void richTextBox1_TextChanged(object sender, EventArgs e)
    {
        string[] lines = richTextBox1.Lines;
        int x = lines.Length;
        if(x>100)
        {
           richTextBox1.Lines = richTextBox1.Lines.Skip(x - 100).ToArray();
           richTextBox1.ScrollToCaret();
           richTextBox1.Select(richTextBox1.Text.Length, 0);
        }
    }

希望这能帮助