【问题标题】:Search text from textbox using dialog in Silverlight使用 Silverlight 中的对话框从文本框中搜索文本
【发布时间】:2012-08-23 06:01:21
【问题描述】:

我有reachtextbox,想在单独的对话框中搜索像记事本一样的文本。查找文本并在richtextbox 中输入的大文本中搜索该文本。 如何使用单独的对话框(如记事本)和搜索文本并在 Richtextbox 中编辑和突出显示它?

【问题讨论】:

  • 不,不是 MVVM。其正常的基于服务的页面。

标签: silverlight silverlight-4.0 silverlight-5.0


【解决方案1】:

我会使用调解器在搜索表单和文本表单之间发送消息。您可以在搜索表单中声明类似“OnSearch”的事件并从您的文本表单中订阅它。当事件引发时,您应该发送一个带有您要搜索的字符串的 eventarg。

文本表单应使用字符串参数订阅“searchMessage”。文本表单的业务层应该实现一个“搜索”方法,根据您的搜索选项查找每个字符串/子字符串。然后为每个巧合更改文本颜色。

搜索字符串: http://msdn.microsoft.com/en-us/library/ms228630(v=vs.80).aspx

您也可以使用 RichTextBox 中的 Find 方法。

要更改该文本的颜色,您必须将文本设置为选中,然后更改该选择的颜色: 选择开始、选择长度、选择颜色。

【讨论】:

  • 是的,但我想提供单独的对话框,该对话框将搜索在我的richtextbox 中输入的所需文本并选择搜索的部分。我可以使用子窗口来做到这一点,但我面临的子窗口中的问题是无法返回到我的富文本框所在的父窗口..
  • 这就是我对调解器的意思。新表单应该发送类似“searchString("test")”的消息。您可以看到它是如何与 MVVM Light messenger 一起工作的(无论如何您都可以使用 messenger)。如果你不想使用信使,你应该使用事件msdn.microsoft.com/en-us/library/awbftdfh.aspx
  • 好的.. 让我尝试将新表单/对话框与我的页面分开,以便我可以从中进行搜索。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多