2009-07-29 4 views
4

これは基本的にWPFウィンドウまたはユーザーコントロールで検索/検索を実装しています。 ダイナミックな読み取り専用のテキストを持つWPFウィンドウをテキストブロック上、リストボックス内、リスト内、ツリービュー内、テキストブロック内などに配置したとします。多くのタイプのコントロールを持つWPFウィンドウ上のテキストを検索してハイライトします

ユーザーは、テキストボックスに検索タームを入力する必要があります。ウィンドウ内にテキストがどこに表示されていても、いつでもどこでも強調表示されます。そして、いいえ、このページはFlowDocumentsなどとは関係がないので、FlowDocumentReaderのボックスをそのまま使用することはできません。

「コントロールテキスト検索」と呼んで、Webクロールのような検索用語を強調表示します。

スレッドは役に立ちますが、私はそこにある

  1. Find all controls in WPF Window by type
  2. WPF Listbox highlight part of ListBoxItem element

を(私は一緒に何かを置くしようとしています)以上を達成できるかどうかわからないかもしれませんSO以下この資料は便利ですが、コントロールではなくドキュメントで動作します

  1. Search and highlight any text on WPF rendered page

答えて

3

いいえ私は後になったようなリンクを見つけたようです。

Search and Highlight Text in an Arbitrary Visual Tree

それは

上記の問題に対する完全な解決策だ場合、私はこれを通過しようと思って、背中や更新くるがアップデート1:さて、これは実際に動作する、上記リンクには実際にこの問題を解決するコードがあります。 - 一度にすべての検索テキストを黄色でハイライト表示しますが、欠落しているものの1つは、next-> nextのようなナビゲーションハイライトです。私はそれに取り組むつもりですし、他の人に役立つようにここに私の更新を掲載することができます。

更新2:もう一度この解決策があります。強調表示されている矩形は、画面の座標に描画されます。したがって、アイテムの長いリストがあり、スクロールした場合、ハイライトされた矩形は、テキストブロック自体ではなく、画面座標に固執します。

私のチームメイトと私は別の解決策を取っています。このスレッドを投稿したままにします。

+0

これを投稿していただきありがとうございます...私はちょうどこれについて自分自身に着手しようとしていました。今私はする必要はありません! –

+0

それは助けてくれてありがとう – Vin

+0

まだその記事からダウンロードの解決策がありますか? – Gman

関連する問題