Joh*_*eed 3 .net c# wpf richtextbox
我需要以编程方式将新段落添加到RichTextBox控件(就像按Enter键).使用下面的代码,它确实添加了一个新段落,但是:
它似乎只添加一个新段落,即如果我第二次运行代码,则不会创建第三段
FlowDocument flowDoc= rtbTextContainer.Document;
Paragraph pr = new Paragraph();
flowDoc.Blocks.Add(pr);
rtbTextContainer.Document = flowDoc;
Run Code Online (Sandbox Code Playgroud)我正在测试一些东西 - 我注释掉了第二行和第三行代码,因此我只是阅读了Document并立即将其重新设置回RichTextBox,但这也删除了所有现有文本,因此问题可能会对这样做,但我无法理解.
我如何克服这些问题并以编程方式附加一个新段落,然后设置其焦点.
谢谢
部分观点:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<RichTextBox x:Name="RichTextBox1"/>
<Button Grid.Row="1" Content="click-me" Click="Button_Click"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
而背后的代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
var paragraph = new Paragraph();
paragraph.Inlines.Add(new Run(string.Format("Paragraph Sample {0}", Environment.TickCount)));
RichTextBox1.Document.Blocks.Add(paragraph);
RichTextBox1.Focus();
RichTextBox1.ScrollToEnd();
}
Run Code Online (Sandbox Code Playgroud)
我希望它有所帮助.