【问题标题】:How to show a hyperlink in a text如何在文本中显示超链接
【发布时间】:2013-11-09 22:30:59
【问题描述】:

我的文本可能包含一些特殊字符,例如<b></b> 或链接。我希望用户能够点击链接并打开它。 TextBlockRichTextBox 似乎没有以正确的方式显示链接:

<RichTextBox >
  <Paragraph>
       click here: http://www.google.com
  </Paragraph>
</RichTextBox>

如何在页面中显示这样的文本?

更新: 似乎我的问题不清楚。我向服务器请求内容,它会返回给我这样的内容:

 from <b><i><a href="http://www.google.com" rel=nofollow> lorem ipsom
 NPR:&#13;&#13; tapped in front of you probably know Bill Gates...

我想在 WINDOWS PHONE 页面中显示此内容。 TextBlock 渲染得不好。我怎样才能显示它是人类可读的?

【问题讨论】:

  • 检查这个其他 SO 问题,我认为它有您正在寻找的答案:stackoverflow.com/questions/531621/…
  • 哦,伙计们。这些答案与我的问题无关。我有一个从网页获得的文本,它可能有一些链接,或者可能有粗体或其他内容。我希望能够显示这些内容。它与超链接控件无关,甚至与WPF 无关!
  • 不确定这是否会有所帮助,但您也可以查看System.Windows.Documents.Hyperlink Class
  • @user2970840。也许你应该澄清你的问题。您标记了 XAML aka WPF。听起来您的问题是如何在 WPF 应用程序中显示 html?

标签: c# xaml windows-phone-7 windows-phone-8 windows-phone


【解决方案1】:

我在使用WebBrowser control时看到的解决问题的方法。

那么,根据文章,您应该使用 Javascript 来管理点击等的链接除非您希望使用 Windows Phone 的标准逻辑自动打开链接):

默认情况下,WebBrowser 控件中禁用脚本。设置 如果要在中启用脚本,则 IsScriptEnabled 属性为 true 你的控制。然后,您可以使用 InvokeScript 方法调用脚本。 ScriptNotify 事件发生在 WebBrowser 中的 JavaScript 时 控件将字符串传递给托管代码。

那是a bit tricky way,但如果您想采用其他方式,则必须实现自己的代码解析器并使用标签和自定义超链接构建句子(如上述 cmets 提供的建议)。

【讨论】:

    猜你喜欢
    • 2020-04-20
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多