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();
}
此代码是为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);
}
}
希望这能帮助