C# WPFには、テキスト編集可能なコンポーネントが用意されているので、単純なテキスト編集機能を持つアプリケーションは簡単に作成することができます。
C# WPFで、テキストを編集する機能を持つアプリケーションを作成する場合、TextBoxやRichTextBoxを使用することから検討しましょう。
- TextBox
テキスト編集可能なコントロールです。
- RichTextBox
FlowDocumentが編集可能なコントールです。FormアプリケーションのRichTextBoxは、書籍設定の可能なRichTextを編集可能なコントロールですが、WPFのRichTextBoxは、より柔軟な文書表現が可能な、FlowDocumentを編集可能なコントールです。FormアプリケーションのRichTextBoxとは、別のものであることに注意が必要です。
更に、テキストエディタ用途の場合、オープンソースのテキストエディタ・コンポーネント のAvalonEditが利用できます。
- AvalonEdit
オープンソースな C# 用の統合開発環境 SharpDevelopで使われているエディタコンポーネントです。強調表示など、テキストエディタの求められる機能があらかじめ用意されています。
- ICSharpCode.TextEditor
Formアプリケーション環境では、ICSharpCode.TextEditorが利用できます。
オープンソースな C# 用の統合開発環境 SharpDevelopで使われているエディタコンポーネントです。
また、言語サーバー プロトコル(LSP)を使用して、言語サーバー プロトコル(LSP)に対応したエディタを操作したり、組み込む方法も存在するようです。
TextBox
TextBoxは、プレーンテキストのみを編集するときに使用されます。
RichTextBox
RichTextBoxは、書式設定されたテキスト、画像、表、あるいは、その他のサポート対象コンテンツを編集するときに使用されます。
AvalonEdit
AvalonEditは、オープンソースのテキストエディタ・コンポーネントです。