2009-09-12 8 views
3

lorsque je passe la souris sur une zone de texte encapsulée, je veux obtenir le mot ou la position du texte immédiatement sous la souris.Récupère la chaîne sous un survol de la souris à partir de Silverlight TextBox

J'ai vu quelques exemples pour une seule zone de texte, like this one, mais j'ai une zone de texte encapsulée. Je pense que je pourrais être capable de le faire si j'avais une fonction MeasureString mais je ne l'ai pas non plus dans Silverlight (serait utile pour d'autres choses).

Exemple TextBox

<Textbox TextWrapping="Wrap" Width="50" Text=" ... " /> 

Répondre

0

Il n'y a pas cette capacité dans Silverlight aujourd'hui. Voici ce que je ferais comme une solution de contournement:

  1. Vous avez déjà un invisible (0 Opacité, IsHitTestVisible = False) WrapPanel avec un TextBlock pour chaque mot.
  2. Ajustez les marges sur les TextBlocks et les WrapPanels jusqu'à obtenir un espacement similaire.
  3. Do a frappé les tests sur le WrapPanel avec les TextBlocks pour déterminer le mot
+0

Merci pour les conseils. Cela semble cher mais je vais essayer et revenir avec mes résultats. En outre, j'utilise un TextBox, pas un TextBlock, donc j'espère que ce n'est pas trop de travail pour essayer de simuler l'espacement exact de 2 contrôles différents. Nous verrons. – Paully

Questions connexes