8

ICSharpCode.TextEditor.TextEditorControlDSLエディタとして使用しています。DSLコンパイルエラーが発生した場合、ユーザーエクスペリエンスを向上させるために、問題のあるテキストを強調表示したいと思います。しかし、私はこれを行う方法を見つけるのに苦労しています。

これまでのところ、ShowInvalidLinesプロパティがあることはわかりましたが、行を無効としてマークする方法がわかりません。私はまた、それらHighlightSpanStackのプロパティをLineSegment確認HighlightingStrategyしますが、それらがどのように使用されるのかはわかりません。

どんな助けでもいただければ幸いです。ありがとう!

4

1 に答える 1

14

テキストの一部を強調表示するには、TextMarkerを使用します。次のコードは、Errorという単語に赤い波線で下線を引きます。

TextEditorControl textEditor = new TextEditorControl();
textEditor.Text = "Mark Error";

int offset = 5;
int length = 5;
TextMarker marker = new TextMarker(offset, length, TextMarkerType.WaveLine, Color.Red);
textEditor.Document.MarkerStrategy.AddMarker(marker);

テキストは任意の背景色と前景色で強調表示でき、TextMarkerTypeは下線、波線、または単色のブロックをサポートします。

于 2011-09-17T11:09:40.060 に答える