Add hyperlink to textblock wpf

Add hyperlink to textblock wpf

Displaying is rather simple, the navigation is another question. XAML goes like this:

<TextBlock Name="TextBlockWithHyperlink"> Some text <Hyperlink NavigateUri="http://somesite.com" RequestNavigate="Hyperlink_RequestNavigate"> some site </Hyperlink> some more text </TextBlock>

And the event handler that launches default browser to navigate to your hyperlink would be:

private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e) { System.Diagnostics.Process.Start(e.Uri.ToString()); }

Edit: To do it with the text you've got from database you'll have to parse the text somehow. Once you know the textual parts and hyperlinked parts, you can build textblock contents dynamically in the code:

TextBlockWithHyperlink.Inlines.Clear(); TextBlockWithHyperlink.Inlines.Add("Some text "); Hyperlink hyperLink = new Hyperlink() { NavigateUri = new Uri("http://somesite.com") }; hyperLink.Inlines.Add("some site"); hyperLink.RequestNavigate += Hyperlink_RequestNavigate; TextBlockWithHyperlink.Inlines.Add(hyperLink); TextBlockWithHyperlink.Inlines.Add(" Some more text");

猜你喜欢

转载自www.cnblogs.com/chucklu/p/11437655.html
今日推荐