約 10 MB のログ ファイルを開き、特定の式を強調表示するアプリケーションを作成する必要があります。
WPF と richtextbox を使用するとうまくいくと思いましたが、richtextbox のレンダリング時間は受け入れられません。
ハイライトのようなリッチテキストボックスを持っているが、パフォーマンスが優れているものはありますか?
これを達成する他の方法はありますか?
約 10 MB のログ ファイルを開き、特定の式を強調表示するアプリケーションを作成する必要があります。
WPF と richtextbox を使用するとうまくいくと思いましたが、richtextbox のレンダリング時間は受け入れられません。
ハイライトのようなリッチテキストボックスを持っているが、パフォーマンスが優れているものはありますか?
これを達成する他の方法はありますか?
Scintilla http://www.scintilla.org/は、コードを編集するためのボックスとして使用されます。これは、多くの異なるコード構文の強調表示を提供します。それを使用して、強調表示する必要のある部分を指定できる場合があります。
ユーザーがログを編集できるようにする必要がない場合は、TextBlockを使用して、強調表示されるセクションを<Style>
タグでラップして強調表示を実行できる場合があります。
Flowdocumentをどのように生成していますか-実行している内容によっては、処理速度を上げることができる場合があります。ただし、特にUIスレッドでFlowDocumentを生成する必要があり、時間がかかりすぎると画面が真っ暗になるため、私もこれらの問題に遭遇しました。
あなたの言っていることが理解できれば、シンタックス ハイライト RTB コントロールが必要です。私の個人的なお気に入りは、AvalonEdit コントロールです (codeproject に関する記事があります: http://www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor )。Visial のエディターのように構文を強調表示できます。スタジオ。エンド ユーザーが気に入るオートコンプリート機能もあります。
他のものが必要な場合は、ICSharp コード エディターもあります。(コードプロジェクトに関する別の記事: http://www.codeproject.com/Articles/30936/Using-ICSharpCode-TextEditor ) これは AvalonEdit とほぼ同じ機能を備えており、私もこれが気に入っています。実際に作成したアプリで ICSharp コード エディターを使用しましたが、その機能にはかなり満足しています。
私の知る限り、これらのコントロールはどちらも非常に効率的で、単なるリッチテキスト ボックスよりも優れています。