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