当符号为@或#时,在RichTextBox中检测超链接

3

我正在开发一款用于阅读Twitter的WP8应用程序。我了解到RichTextBox可以检测链接,这很好。但是,我想添加以下功能:如果推文中存在符号“@”,则创建一个超链接,链接到“@”后面的内容,并打开一个新页面,例如/DetailsPage.xaml?name=@name,显示有关用户的其他信息。同样的事情也适用于#,但是会打开包含此标签的推文页面。是否有办法实现这个功能?


我在这里找到了实现带有链接的RichTextBox的最佳方法。 - Dima Serdechnyi
1个回答

1
非常简单,使用以下XAML代码:

<RichTextBox>
    <Paragraph>
        <Hyperlink NavigateUri="/Page1.xaml">click me!</Hyperlink>
    </Paragraph>
</RichTextBox>

这将显示文本“点击我!”,看起来像超链接,可以点击。当被点击时,它将带您到项目中的Page1.xaml。

显然,您需要动态创建RichTextBox的内容,但我会把它留给您作为练习。


真的吗?这是最好的方式吗? - Dima Serdechnyi
你还有其他的方法吗?你需要将文本标记为链接,就像使用上面的超链接标签,并将其Uri设置为某个值。 - Toni Petrina
也许是RichTextBox的触发器或行为?你能展示一下字符串“Checking out the new @diradio stations. This new group looks awesome”的例子吗?如果我理解正确,我需要Split所有消息,然后如果第一个符号是“@”,就要创建超链接,但是如何实现呢? - Dima Serdechnyi
你需要使用正则表达式来进行替换。类似于Regex.Replace(s, "@[^\s]*", string.Format(...)); - Toni Petrina
谢谢,但我找到了完整的解决方案,我已经在评论中发布了它。 - Dima Serdechnyi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接