0

たとえば、15行目だけフォントを変更するにはどうすればよいですか? 私は使用しまし.ScrollTo(15,4);たが、15行目にいるときに強調表示するコマンドなどはありません(コードで動的に実行したい)。では、1行だけ編集する方法はありますか? また、その行をコードで強調表示する方法を知りたいです。ここに私のxamlがあります:

                            <Grid>
                            <avalonEdit:TextEditor
            Name="debuggertext"
            FontFamily="Consolas"
            FontSize="10pt"

                                ShowLineNumbers="True"
            SyntaxHighlighting="C++" VerticalScrollBarVisibility="Auto" IsReadOnly="True" HorizontalScrollBarVisibility="Disabled"

        />
4

1 に答える 1

2

AvalonEdit はコード エディターです。リッチ テキスト エディターではありません。AvalonEdit は色を保存せず、オンザフライで計算するため、一部のテキストの色を変更することはできません。

解決策は、色を自分で保存し、AvalonEdit のオンザフライ フォーマットを拡張してデータ構造から読み取ることです。コード プロジェクトの記事の「レンダリング」セクションのドラフトを読んでください (記事は AvalonEdit の紹介として意図されていたため、そのセクションのほとんどは最終記事にはなりませんでした)。そして、いくつかのアイデアについては、このフォーラムの投稿をご覧ください。

AvalonEdit 5.0 では、リッチ テキスト エディターの実装に役立ついくつかのクラスも追加されていますICSharpCode.AvalonEdit.Highlighting.RichTextModelRichTextColorizerレンダリング中にこれらを適用できます。これらのクラスをエディターに手動で接続する必要があることに注意してください。

于 2013-07-10T08:18:29.527 に答える