2012-10-19 3 views
3

J'ajoute des Inlines à un TextBlock. Le Run() inlines fonctionne. Bien sûr, le lien hypertexte() est déconseillé dans Windows 8 (en utilisant Windows.UI.Xaml.Documents) pour une raison quelconque, donc j'essaye d'encapsuler un lien hypertexte dans un InlineUIContainer en utilisant C#. Je sais que le concept est solide, mais mon code est défaillant.Essayer d'insérer un lien hypertexte dans un TextBlock

si je commente la ligne "using Windows.UI.Xaml.Documents;" Ensuite, j'obtiens les deux inlines environnants dans ma ListView (qui utilise la méthode ci-dessous). Si cette ligne n'est pas commentée, Inlines.Add for 'link' est lancé. Qu'est-ce que je fais mal?

public TextBlock enrichPostText(anFullPost post) 
    { 
     TextBlock text_block = new TextBlock(); 
     text_block.Inlines.Clear(); 
 var holdText = new Run(); 
     holdText.Text = "Test start >> "; 
     text_block.Inlines.Add(holdText); 

     HyperlinkButton linkButton = new HyperlinkButton(); 
     linkButton.NavigateUri = new Uri("http://www.cones.net"); 
     linkButton.Content = "click me"; 
     linkButton.Name = "_blank"; 

     InlineUIContainer link = new InlineUIContainer(); 
     link.Child = linkButton; 

     text_block.Inlines.Add(link); 

     var holdText2 = new Run(); 
     holdText2.Text = " << end test."; 
     text_block.Inlines.Add(holdText2); 

     return (text_block); 
    } 
+0

Remarque: si je commente la ligne: text_block.Inlines.Add (lien); alors les autres Inlines fonctionnent et je peux voir les ListViewItems. –

+0

Je reçois l'erreur suivante: WinRT information: E_NETWORK_ERROR –

Répondre

0

Je viens essayé de changer mon RichTextBlock à un TextBlock, et je vois aussi un ArgumentException se jeter lorsque je tente d'ajouter le InlineUIContainer. La seule solution que je connais est d'utiliser RichTextBlock à la place; jusqu'à présent, cela correspond à mes besoins.

Questions connexes