多くのエディタにはドキュメントの分割表示機能があり、ドキュメントの一部を表示しながら、別の部分を作業することができます。
これは、2つ以上の C1RichTextBox コントロールを同じ基底の C1Document に連結することによって簡単に実現できます。各コントロールは独立したビューとして動作するので、通常どおりにドキュメントをスクロール、選択、および編集できます。1つのビューへの変更は、他のすべてのビューに反映されます。
この動作を示すために、ページのコンストラクタに数行のコードを追加して、前の例を拡張します。
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
// ページに2番目の C1RichTextBox を追加します
LayoutRoot.RowDefinitions.Add(new RowDefinition());
LayoutRoot.RowDefinitions.Add(new RowDefinition());
var rtb2 = new C1RichTextBox();
rtb2.SetValue(Grid.RowProperty, 1);
LayoutRoot.Children.Add(rtb2);
// 2番目の C1RichTextBox を同じドキュメントに連結します
rtb2.Document = _rtb.Document;
|
|
この新しいコードは、新しい C1RichTextBox をページに追加し、次に元の C1RichTextBox によって表示されるドキュメントを C1RichTextBox.Document プロパティに設定します。
プロジェクトを再度実行すると、下部のコントロールが編集可能になっていることがわかります(C1RichTextBox.IsReadOnly プロパティを False に設定していません)。そこに入力すると、両方のコントロールに変更が同時に表示されます。
このメカニズムは一般的です。さらに多くのビューを同じドキュメントに簡単に連結できます。さらに、基底のドキュメントに対する変更は、すべてのビューに即座に反映されます。