RichTextBox
2 人の人物間の会話を表すダイナミック フロー ドキュメントが表示されています。
キャレットが現在アクティブな既存の段落の後に (タブ キーを使用して) 段落を追加する機能をソフトウェアに追加しようとしています。挿入はできましたが、バグが 1 つ残っています。新しく作成した段落の先頭にキャレットの位置を設定できません。新しく作成された段落に集中しようとしましたが、うまくいきませんでした。
これは、正しい場所に新しい段落を追加する、タブが押されたイベントのテスト コードです。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);
}
}