バージョン

カスタム余白 (xamSyntaxEditor)

トピックの概要

目的

このトピックでは、カスタム余白の作成方法を解説します。

前提条件

このトピックの本題に入る前に、以下のトピックをお読みください。

トピック 目的

このトピックでは、 xamSyntaxEditor の機能を分かりやすく解説します。

このトピックの内容

このトピックは以下のセクションからなります。

カスタム余白の作成

はじめに

xamSyntaxEditor ™ は、テキスト編集領域の端に沿った任意の 4 箇所での余白の配置をサポートしています。任意の 4 箇所 (上下左右) に余白を配置できるようにするため、 MarginBase クラスは ISupportPositioning インターフェイスを実装します。一般的に、左右に配置された余白を使ってテキスト行に関連する情報を表示し、上下に配置された余白を使ってテキスト列に関連する情報を表示します。

xamSyntaxEditor は、すべての余白を適切な場所に配置します。xamSyntaxEditor はまた、 CreatePresenter メソッドを起動し、関連する DocumentViewBase を引数として渡すことによって、すべての余白がプレゼンターを持つようにします。DocumentViewBase はプレゼンターに、ビューとコントロール情報にアクセスするために必要とされるコンテキストを提供します (たとえば、表示された行へのアクセス、さまざまなユーザー インタラクション用のイベントなど)。

手順

以下の手順は、カスタム余白を作成する方法を示しています。

1.Margin クラスの作成

MarginBase クラスから拡張することによって、カスタムの Margin クラスを作成します。

2.余白の位置の設定

MarginBaseLocation プロパティをオーバーライドして、希望の場所に余白を配置します。

3.余白の配置の設定

ISupportPositioning インターフェイスの After および Before メソッドをオーバーライドして、この場所のその他の余白に沿って余白を配置します。

4.一意の余白キーの提供

MarginBaseKey プロパティをオーバーライドして、余白に一意のキーを与えます。これによって他の余白は、あなたの余白に相対して位置付けることができます。

5.余白にプレゼンターを提供

MarginBaseCreatePresenter メソッドをオーバーライドして、余白にプレゼンターを提供します。プレゼンターは、 FrameworkElement から拡張する任意のクラスになり得ます。

6.ロジックをプレゼンターに追加して、余白のコンテンツを描画します

カスタムの余白プレゼンターは通常、 DocumentViewBase.LayoutChanged イベントをオーバーライドして、カスタム余白のコンテンツの描画をトリガします。

7.xamSyntaxEditor にマージンを追加します

xamSyntaxEditorCustomMargins コレクションに余白を追加します。

関連コンテンツ

このトピックについては、以下のトピックも参照してください。

トピック 目的

このトピックでは、 xamSyntaxEditor コントロールの組み込み行番号余白の使用方法と構成方法を解説します。

このトピックでは、ルーラー マージン機能を構成する方法を解説します。