2009-12-15 7 views
1

Je programme un petit client Twitter juste pour m'amuser. J'ai le texte du tweet sur un TextBlock et je veux rendre les URL cliquables.Je clique sur les URL d'un bloc de texte

Je sais que je dois analyser les URL avec une expression rationnelle mais ... comment je mets du texte plus le lien sur le TextBlock?

Je ne peux pas avoir une chaîne comme: Hello check my blog at <Hyperlink>http​://myblogurl.com</Hyperlink> parce que le TextBlock n'analyse pas les étiquettes.

Puis, comment puis-je avoir un TextBlock qui a peut-être un lien ou peut-être pas?

Merci.

+0

Avez-vous lu cette question? http://stackoverflow.com/questions/861409/wpf-making-hyperlinks-clickable/867455#867455 – Ragepotato

Répondre

3
<RichTextBox IsDocumentEnabled="True"> 
     <FlowDocument> 
      <Paragraph> 
      This is a richTextBox. And this is a <Hyperlink NavigateUri="http://www.microsoft.com">Hyperlink</Hyperlink>. 
      </Paragraph> 
     </FlowDocument> 
    </RichTextBox> 

MSDN discussion

1

Plutôt que d'utiliser un TextBlock, consultez la version WPF de RichTextBox. C'est une petite créature très flexible.

1

Quelque chose comme ...

<TextBlock> 
    <Hyperlink Name="btnOpen" Click="btnOpen_Click"> 
     <TextBlock Text="Click to Open" /> 
    </Hyperlink> 
</TextBlock> 
+0

Non, parce que c'est une chaîne aléatoire avec un nombre aléatoire d'url ... –

0

Vous pouvez analyser la chaîne dans le code derrière et de construire une collection de contrôles de contenu, changer votre textblock à un panneau d'emballage et définir les enfants du panel à votre collection que vous avez créée.