[WPF]エディットボックスに検索・置換ダイアログを追加する

RichEditBoxを使ってメモアプリを作成しているのですが、残念ながら検索・置換用のダイアログが搭載されていませんでした。

Win32では、ReplaceTextで 以下のコモンダイアログを使うことができました。

残念ながら、このダイアログをWPFで簡単に使うことはできません。

CodeProjectで、「A Universal WPF Find / Replace Dialog」が公開されておりTextBoxなどに検索・置換機能を搭載することができます。

このライブラリの良い点は、以下のコントロールに対して検索・置換機能を追加できる点です。

  • TextBox(WPF)
  • RichTextBox(WPF)
  • RichTextBox(WinForms)

ライセンスもCPOLとゆるく使いってがよいです。

以下のように使用します。


//管理オブジェクトを作成する
FindReplace.FindReplaceMgr FRM = new FindReplace.FindReplaceMgr();

//機能を追加するテキストボックスをセットする
FRM.CurrentEditor = new FindReplace.WFTextBoxAdapter(MyTextEditor);
FRM.ShowSearchIn = false;
FRM.OwnerWindow = this;

//ショートカットキーをセットする
CommandBindings.Add(FRM.FindBinding);
CommandBindings.Add(FRM.ReplaceBinding);
CommandBindings.Add(FRM.FindNextBinding);

 VisualStudio2019でも使いやすいように、プロジェクトをNET5用に変換したものを以下で公開しています。

https://github.com/garakutanokiseki/UniversalFindReplace

0 件のコメント :

コメントを投稿