问候,我在db中有一些文本,它如下:
Lorem ipsum dolor sit amet,consectetur adipiscing elit . Duis tellus nisl,venenatis et pharetra ac,tempor sed sapien . 整齐的pellentesque blandit velit,在tempus urna semper坐下来 . Duis mollis,libero ut consectetur interdum,massa tellus posuere nisi,eu aliquet elit lacus nec erat . 赞美商品 . ** [a href ='http://somesite.com']某个网站[/ a] **在nisi的Suspendisse坐在amet massa molestie gravida feugiat ac sem . Phasellus ac mauris ipsum,vel auctor odio
我的问题是:如何在_1356025中显示 Hyperlink
?我不想_1156026_也想使用这个控件:http://www.codeproject.com/KB/WPF/htmltextblock.aspx也
2 回答
在这种情况下,您可以将Regex与值转换器一起使用 .
使用此符合您的要求(来自here的原创想法):
这将匹配包含链接的字符串中的所有链接,并为每个匹配创建2个命名组:
link
和text
现在您可以遍历所有匹配项 . 每场比赛都会给你一个
Note : 在自定义
ConvertToHyperlinkedText
值转换器中使用此逻辑 .显示相当简单,导航是另一个问题 . XAML是这样的:
启动默认浏览器以导航到超链接的事件处理程序将是:
编辑:要使用从数据库获得的文本来执行此操作,您必须以某种方式解析文本 . 一旦知道了文本部分和超链接部分,就可以在代码中动态构建文本块内容: