3

私はWPF、.NET4、VS2010を使用しています。

ユーザーが編集できるRichTextBoxがあります。検索/置換ダイアログを実装しました。ユーザーは検索文字列と置換文字列を入力します。[置換] をクリックすると、RTB で次の検索文字列が検索され、それが選択 (強調表示) されます。ユーザーがもう一度 [置換] をクリックすると、テキストが置換されて再度検索され、次の出現箇所が選択 (強調表示) されます。

問題は、ユーザーが RichTextBox の強調表示を確認できないことです。RTB がフォーカスを失ったときに強調表示を保持する方法の解決策を見つけました。特に、処理OnLostFocusと への設定e.Handledですtrue。ただし、これは、フォーカスが同じ WPF フォームの別のコントロールに移動している場合にのみ機能するようです。私の場合、別の WPF フォーム (検索/置換ダイアログ) があります。フォーカスがそれに戻ると、RTB で選択したテキストのハイライトが消えますが、[検索/置換] ダイアログを閉じてフォーカスがメイン フォームに戻ると、選択したテキストが適切にハイライトされます。

ShowDialog()検索/置換ダイアログを表示するためにこれを使用し、また を使用してこれを試しましShow()た。

質問は、[検索/置換] ダイアログにフォーカスがある場合でも、選択したテキストを RTB に表示させる方法はありますか?

4

0 に答える 0