RichTextBox for UWP
分割表示の実装
C1Document オブジェクトの使い方 > 分割表示の実装

多くのエディタにはドキュメントの分割表示機能があり、ドキュメントの一部を表示しながら、別の部分を作業することができます。

これは、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 に設定していません)。そこに入力すると、両方のコントロールに変更が同時に表示されます。

このメカニズムは一般的です。さらに多くのビューを同じドキュメントに簡単に連結できます。さらに、基底のドキュメントに対する変更は、すべてのビューに即座に反映されます。