2012-08-23 65 views
1

我有了文本框,並且希望在單獨的對話框中搜索Silverlight中的記事本等文本。在richtextbox中輸入的大文本中查找文本並搜索該文本。 如何使用記事本和搜索文本等單獨對話框進行編輯並在richtextbox中進行編輯和突出顯示?在Silverlight中使用對話框在文本框中搜索文本

+0

您使用的是MVVM嗎? – zapico

+0

不是MVVM。其正常的基於服務的頁面。 –

回答

1

我會使用調解器在搜索表單和文本表單之間發送消息。您可以在搜索表單中聲明一個類似「OnSearch」的事件,並從您的文本表單中訂閱它。當事件發生時,您應該向您要搜索的字符串發送一個eventarg。

文本形式應該適用於帶有字符串參數的「searchMessage」。文本表單的業務層應實現一個「搜索」方法,根據您的搜索選項查找每個字符串/子字符串。然後改變每個巧合的文字顏色。

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

您還可以使用在RichTextBox中查找方法。

要更改文本的顏色,您必須將文本設置爲選中狀態,然後更改該選擇的顏色: SelectionStart,SelectionLenght,SelectionColor。

+0

是的,但我想給出單獨的對話框,它將搜索在我的richtextbox中輸入的所需文本,並選擇搜索的部分。我可以使用子窗口來做,但是我面對的子窗口中的問題是無法返回到我的富文本框存在的父窗口。 –

+0

這就是我的意思是使用中介器。新表單應發送一條消息,如「searchString(」test「)」。您可以看到這是如何工作的,例如,MVVM Light messenger(無論如何您都可以使用Messenger)。如果你不想使用信使,你應該使用事件http://msdn.microsoft.com/en-us/library/awbftdfh.aspx – zapico

+0

好吧..讓我試試做一個新的表單/對話框從我的頁面分開,所以我可以從中搜索。 –