2010-06-29 4 views
0

Je peux joindre un événement de clic de la souris sur un objet TextBlock comme ceci:Comment associer un événement de souris à un objet Run dans Silverlight?

TextBlock tb = new TextBlock(); 
tb.Text = "click here"; 
tb.MouseLeftButtonDown += new MouseButtonEventHandler(tb_MouseLeftButtonDown); 

Mais je voudrais attacher la place de la souris clic pour des objets individuels Exécuter dans l'objet TextBlock de telle sorte que les différentes parties du TextBlock sont cliquables, comme ceci:

TextBlock tb = new TextBlock(); 
tb.FontSize = 15; 

Run run1 = new Run(); 
run1.Text = "This should be clickable"; 
run1.MouseLeftButtonDown += new MouseButtonEventHandler(run1_MouseLeftButtonDown); 

Run run2 = new Run(); 
run2.Text = " but not this."; 

tb.Inlines.Add(run1); 
tb.Inlines.Add(run2); 

Comment joindre un événement de souris à un objet Run?

+0

Vous ne pouvez pas. La seule chose que vous pouvez essayer est de remplacer les exécutions avec des TextBlocks séparés. – Denis

+0

C'est l'approche que je prends: un WrapPanel avec des mots individuels comme TextBlocks, qui a quelques limitations mais fera l'affaire. Ou y a-t-il un moyen de remplir un TextBlock avec TextBlocks pour que vous puissiez toujours obtenir des choses telles que le mot-emballage, la justification, etc.? Il ne semble pas que Inlines accepte TextBlocks. –

Répondre

Questions connexes