我有一个动态流文档显示在一个RichTextBox
代表两个人之间的对话中。
我正在尝试向我的软件添加一个功能,该功能将在插入符号当前处于活动状态的任何现有段落之后添加一个段落(通过使用 tab 键)。我能够实现插入,但仍然存在一个错误,我无法将插入符号位置设置为新创建段落的开头。我试图专注于新创建的段落,但没有运气。
这是 tab 按下事件的一些测试代码,它在正确的位置添加新段落。ConversationXContent
是一个FlowDocument
。
private void RichTextBox_KeyDown(object sender, KeyEventArgs e)
{
if(e != null && e.Key == Key.Tab)
{
Paragraph p = new Paragraph();
p.Tag = "NewParagraph";
p.SetResourceReference(Paragraph.StyleProperty, "CharacterViewStyle");
p.Inlines.Add("NEW PARAGRAPH");
ConversationXContent.Blocks.InsertAfter(ConversationX.CaretPosition.Paragraph, p);
}
}