2012-08-23 4 views
1

J'ai reachtextbox et je veux rechercher du texte comme le bloc-notes dans Silverlight dans une boîte de dialogue séparée .. Trouver du texte et rechercher ce texte dans un texte énorme entré dans richtextbox. Comment puis-je le faire en utilisant une boîte de dialogue séparée comme le bloc-notes et le texte de recherche et modifier et mettre en surbrillance dans richtextbox?Rechercher le texte de la zone de texte en utilisant la boîte de dialogue dans Silverlight

+0

Utilisez-vous MVVM ?? – zapico

+0

Non, pas MVVM. sa page basée sur le service normal. –

Répondre

1

J'utiliserais un médiateur pour envoyer des messages entre le formulaire de recherche et le formulaire texte. Vous pouvez déclarer un événement comme "OnSearch" dans votre formulaire de recherche et vous y inscrire à partir de votre formulaire texte. Lorsque l'événement se déclenche, vous devez envoyer un eventarg avec la chaîne que vous souhaitez rechercher.

La forme de texte doit s'abonner au "searchMessage" avec un paramètre de chaîne. La couche de gestion pour le formulaire de texte doit implémenter une méthode de "recherche" qui recherche chaque chaîne/sous-chaîne en fonction de vos options de recherche. Puis changez la couleur du texte pour chaque coïncidence.

chaînes Recherche: http://msdn.microsoft.com/en-us/library/ms228630(v=vs.80).aspx

Vous pouvez également utiliser la méthode Find en RichTextBox.

Pour modifier la couleur de ce texte, vous devez définir le texte comme sélectionné, puis modifier la couleur de cette sélection: SelectionStart, SelectionLenght, SelectionColor.

+0

Oui, mais je veux donner une boîte de dialogue séparée qui va chercher le texte désiré entré dans mon richtextbox et sélectionner autant de partie recherchée. Je peux le faire en utilisant la fenêtre enfant mais le problème dans la fenêtre enfant que je suis confronté ne peut pas retourner à la fenêtre parent où ma boîte richtext existe .. –

+0

C'est ce que je veux dire avec le médiateur. Le nouveau formulaire devrait envoyer un message comme "searchString (" test ")". Vous pouvez voir comment cela fonctionne avec, par exemple, MVVM Light messenger (vous pouvez utiliser un messager de toute façon). Si vous ne voulez pas utiliser un messager, vous devriez utiliser les événements http://msdn.microsoft.com/en-us/library/awbftdfh.aspx – zapico

+0

ok .. laissez-moi essayer de faire un nouveau formulaire/dialogue séparer de ma page afin que je puisse y chercher. –

Questions connexes