3

我正在使用 WPF、.NET4、VS2010。

我有一个允许用户编辑的 RichTextBox。我已经实现了一个查找/替换对话框。用户输入一个查找字符串和一个替换字符串。当他们点击 Replace 时,它​​会在 RTB 中搜索下一次出现的 Find 字符串并选择(突出显示)它。如果用户再次单击替换,它会替换文本并再次搜索,选择(突出显示)下一个出现。

问题是,用户看不到 RichTextBox 中的突出显示。我找到了如何在 RTB 失去焦点时保留突出显示的解决方案 - 特别是处理OnLostFocus和设置e.Handledtrue. 但是,这似乎只在焦点转到同一 WPF 表单上的另一个控件时才有效。就我而言,我有一个单独的 WPF 表单(我的查找/替换对话框)。当焦点返回时,RTB 中所选文本的突出显示消失 - 尽管当我关闭“查找/替换”对话框并且焦点返回主窗体时,所选文本会适当突出显示。

我已经尝试过使用它ShowDialog()来显示我的查找/替换对话框并使用Show().

所以,问题是,有没有办法让我的 RTB 显示选定的文本,即使焦点位于我的查找/替换对话框上?

4

0 回答 0