2016-05-11 2 views
0

Je pense que j'ai un problème pas si compliqué, mais je ne peux pas le résoudre ou trouver la solution sur internet.Comment réinitialiser une info-bulle de contrôle WPF?

J'ai quelques RichTextBox au hasard

<RichTextBox x:Name="myRichTextBox" ToolTipOpening="RichTextBoxEx1_ToolTipOpening" ToolTip=" "></RichTextBox> 

Je veux montrer une info-bulle spécifique selon le mot plané par la souris. J'ai déjà une solution pour ça.

Disons que mon RichTextBox a un texte comme celui-ci "Ma maison est verte". Si je survole le mot «vert», l'info-bulle s'affiche, mais si j'ai besoin d'afficher l'info-bulle sur le mot «maison», je dois sortir ma souris du contrôle RichTextBox et entrer à nouveau. Donc, je demande une «réinitialisation» de l'info-bulle. Quelque chose comme, quand je bouge ma souris, l'info-bulle actuelle disparaît et je n'ai pas besoin d'attendre une nouvelle info-bulle sans enlever ma souris du contrôle.

Merci beaucoup.

Répondre

0

D'habitude, je viens de mettre ToolTip propriété à null et lui attribuer un nouvel objet ToolTip:

element.ToolTip = null; 
var tooltip = new ToolTip(); 
tooltip.Content = ... 
element.ToolTip = tooltip; 
tooltip.IsOpen = true; 
tooltip.StaysOpen = false; 

maintenant appeler ce code, vous devrez mettre en œuvre une sorte de mécanisme de vol stationnaire basé sur l'événement MouseMove et de préférence une minuterie - Ce n'est pas inclus dans WPF.