C# WPFでは、テキスト編集コントロールが、用意されているので、テキスト編集可能なUIを簡単に作成することができます。
WPFでは、有料のサードパーティーライブラリを使わない場合、主に3つの選択肢があります。
- TextBox
- RichTextBox
- AvalonEdit(オープンソースのテキストエディタ・コンポーネント)
通常は、追加の操作無しで利用できるプレーンテキストが扱えるTextBoxやテキストの書式が設定できるRichTextBoxのどちらかが、使われます。AvalonEditは、コードを扱う汎用のテキストエディタを作成したいときに威力を発揮します。
このページでは、WPFで使用できるコンポーネントについてのみ取り扱います。WPFで利用できるTextBoxやRichTextBoxは、Formアプリで利用できるTextBoxやRichTextBoxは、内部機構が全く別物であることに注意してください。
TextBoxとRichTextBoxの使い分け
TextBoxとRichTextBoxは、UIで、テキストを編集するために使用します。2つのコントロールは、同じようにテキストを編集できますが、全く別の用途で利用されます。
TextBoxは、プレーンテキストのみを編集するときに使用され、RichTextBoxは、書式設定されたテキスト、画像、表、あるいは、その他のサポート対象コンテンツを編集するときに使用されます。
コントロール | TextBox | RichTextBox |
---|---|---|
リアルタイム・スペルチェック | Yes | Yes |
コンテキスト・メニュー | Yes | Yes |
ToggleBold(Ctr+B)のようなコマンド書式 | No | Yes (RichTextBox の概要を参照) |
画像、段落、表などのようなFlowDocumentコンテンツ | No | Yes (RichTextBox の概要を参照) |
- TextBoxの概要 TextBox Overview
- RichTextBox概要RichTextBox Overview
TextBox
TextBoxは、プレーンテキストのみを編集するときに使用されます。
RichTextBox
WPFのRichTextBoxは、FlowDocuments形式の文書を編集できる高機能なコントロールです。
RichTextBoxで編集可能なUIを作成する
RichTextBoxは、書式設定されたテキスト、画像、表、あるいは、その他のサポート対象コンテンツを編集するときに使用されます。
AvalonEdit
AvalonEditは、オープンソースのテキストエディタ・コンポーネントです。