2014-01-19 4 views
1

В this question (ответ от eandersson) гиперссылка используется в пределах TextBlock. Я хотел бы сделать то же самое, но в коде позади - как это сделать?Как добавить гиперссылку в TextBlock в коде?

Пример по ссылке:

<TextBlock>   
    <Hyperlink NavigateUri="http://www.google.com" RequestNavigate="Hyperlink_RequestNavigate"> 
     Click here 
    </Hyperlink> 
</TextBlock> 

private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e) 
{ 
    Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); 
    e.Handled = true; 
} 

ответ

6

Вот код, чтобы добавить TextBlock с интерактивными звеном в середине:

Run run1 = new Run("click "); 
Run run2 = new Run(" Please"); 
Run run3 = new Run("here."); 

Hyperlink hyperlink = new Hyperlink(run3) 
         { 
          NavigateUri = new Uri("http://stackoverflow.com") 
         }; 
hyperlink.RequestNavigate += new System.Windows.Navigation.RequestNavigateEventHandler(hyperlink_RequestNavigate); //to be implemented 
textBlock1.Inlines.Clear(); 
textBlock1.Inlines.Add(run1); 
textBlock1.Inlines.Add(hyperlink); 
textBlock1.Inlines.Add(run2); 

из programmatically make textblock with hyperlink in between text

Точно так же вы можете использовать для добавления текстового блока в контейнер.

 Смежные вопросы

  • Нет связанных вопросов^_^