将超链接添加到textblock wpf

您好,
我在数据库中有一些文本,如下所示:

Lorem ipsum dolor sit amet,是一位杰出的献身者。酒后驾车
泰卢斯·尼索,威尼斯人和法雷特拉人,临时智者。整数
佩朗斯特·布兰迪特·维利特(pellentesque blandit velit),在坦普斯·乌纳·森佩尔(tempus urna semper-sit amet)。酒后驾车
莫利斯,自由与自由,马萨·泰勒斯·波苏尔·尼西,欧盟
这是一个非常重要的问题。请坐一个康莫多广场**[a]
href=’https://stackoverflow.com/questions/2092890/http://somesite.com“]某个地点[/a]**在尼西坐在阿梅特暂停营业
子宫内膜异位症孕妇feugiat ac sem。Phasellus ac mauris ipsum,vel
奥迪奥拍卖人

我的问题是:如何在文本块中显示超链接?我不想为此使用webBrowser控件。
我也不想使用此控件:http://www.codeproject.com/KB/WPF/htmltextblock.aspx 也

显示比较简单,导航是另一个问题。XAML是这样的:

<TextBlock Name=“TextBlockWithHyperlink”>
一些文字
<超链接
导航欧元=”http://somesite.com"
RequestNavigate=“Hyperlink\u RequestNavigate”>
某地
&lt/超链接>
更多的文字
&lt/TextBlock>

启动默认浏览器以导航到超链接的事件处理程序是:

私有无效超链接\u RequestNavigate(对象发送方,RequestNavigateEventArgs e){
System.Diagnostics.Process.Start(e.Uri.ToString());
}

编辑:要处理从数据库中获得的文本,您必须以某种方式解析文本。了解文本部分和超链接部分后,可以在代码中动态构建textblock内容:

TextBlockWithHyperlink.Inlines.Clear();
TextBlockWithHyperlink.Inlines.Add(“一些文本”);
超级链接=新建超级链接(){
NavigateUri=新Uri(“http://somesite.com")
};
hyperLink.Inlines.Add(“某些站点”);
hyperLink.RequestNavigate+=hyperLink_RequestNavigate;
TextBlockWithHyperlink.Inlines.Add(hyperLink);
TextBlockWithHyperlink.Inlines.Add(“更多文本”);

发表评论