このトピックでは、開発者とユーザー双方の視点から xamSyntaxEditor™ コントロールのテキスト編集機能を取り上げます。
このトピックの本題に入る前に、以下のトピックをお読みください。
このトピックは以下のセクションからなります。
xamSyntaxEditor は、Visual Studio のコード エディターに似た、高度なカスタマイズが可能なテキスト編集コントロールです。xamSyntaxEditor は、開発者とユーザーの双方にとって、文書の編集に便利なさまざまな機能を備えています。中でも代表的な機能として、 クリップボードのサポート、 元に戻す/やり直し、 検索と置換、 イベントとコマンドがあります。
xamSyntaxEditor は、文書の挿入箇所を示すカレットを表示します。カレットは、入力した文字が表示される場所です。デフォルトで、 xamSyntaxEditor の設定は 挿入 モードになりす。すなわち、 FlowDirection プロパティの構成に応じてカレットのどちらかの側から入力した新しい文字は、テキストの間に挿入されます。このとき、入力した位置の文字は上書きしません。既存の文字は文書の後ろへ後退します。TextUpdateMode プロパティを 上書き に設定すると、 xamSyntaxEditor はカレットの位置から既存の文字を上書きし、現在の文字は 1 文字ずつ新しい文字に置き換わります。編集をすべて無効にするには、文書の IsReadOnly プロパティを True に設定します。
デフォルトで、 xamSyntaxEditor の カレットは、文字を入力するにつれて右に移動します。ただし、FlowDirection
プロパティを RightToLeft に設定すると移動方向を反転できます。
xamSyntaxEditor コントロールは、文書に対する 1 つまたは 2 つの ビュー からなります。これらのビューに表示されるのは、いずれも文書で現在編集中の箇所です。文書が大きすぎて xamSyntaxEditor の ビューに収まらない場合はスクロールバーが表示され、文書のコンテンツ内で移動できます。
注:
xamSyntaxEditor ウィンドウを (左右方向または上下方向に) 2 つのビューに分けて、同じ文書の 2 箇所の部分で素早く移動して編集することができます。また、 SplitOptions プロパティでは分割方向を左右か上下のいずれかに限定することもできるほか、同じプロパティで分割機能そのものを無効にすることもできます。詳細については、 分割トピックを参照してください。
xamSyntaxEditor の カレットは、キーボードとマウスのどちらでも位置決めできます。また、以下に示すキーボードとマウスのさまざまな組み合わせにより、連続したテキスト領域を選択して、コピーや削除などさまざまな操作ができます。そのほか、テキスト領域を選択してすぐに文字を入力すれば、選択したテキストを新しく入力したテキストに置き換えることができます。オプションで、選択対象が変化したときに通知を受け取れるよう、ハンドラーを xamSyntaxEditor の SelectionChanged イベントにアタッチするか、 xamSyntaxEditor ビューの SelectionManager で選択対象を操作すれば、通知機能を構成できます。
TextDocument には、コードからコンテンツを編集するための以下のような API メソッドがあります。それぞれ対応する操作は、 Append、 Insert、または Delete の各メソッドで実行します。また、 NewLineSequence プロパティでは、文書の行を区切る文字も指定できます。
以下の表は、文書のコンテンツ編集時はいつでも利用できるキーボード キーとキーの組み合わせをまとめたものです。
以下の表は、文書のコンテンツ編集に利用できるマウスの動作、ジェスチャー、操作の組み合わせをまとめたものです。
以下のトピックでは、このトピックに関連する追加情報を提供しています。