【问题标题】:How to detect URLs written or pasted in a RichTextBox in WPF application如何在 WPF 应用程序中检测写入或粘贴在 RichTextBox 中的 URL
【发布时间】:2012-02-06 19:32:41
【问题描述】:

有时,用户在聊天应用程序中聊天时会键入网站 URL。我需要让 RichTextBox 自动检测这些 URL,但我不知道如何。一般 TextBox 不检测 URL,所以我改用 RichTextBox。我知道 RichTextBoxes 可以检测 URL,但我不知道如何。谁能建议我如何做到这一点?

【问题讨论】:

  • 寻找http://https://

标签: wpf url richtextbox


【解决方案1】:

正如 schoola 所指出的,WPF RichTextBox 不会自动检测 URL。不过this article 描述了一个相当简单(150 行)的自定义 RichTextBox 实现,可用于此目的。

【讨论】:

    【解决方案2】:

    WPF RichTextBox 不支持自动检测 URL,但 Windows 窗体富文本框支持。您可以像这样在 WPF 应用程序中使用 WindowsFormsHost 元素:

    [...]
    xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" 
    [...]
    
    <WindowsFormsHost >
        <wf:RichTextBox DetectUrls="True" />
    </WindowsFormsHost>
    

    【讨论】:

    • 感谢 schoola 的帮助,但无法识别 WindowsFormsHost 元素并显示“无法将 RichTextBox 类型的值添加到 UIElementCollection 类型的集合或字典中”。你能告诉我如何让它工作。
    【解决方案3】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 2020-03-02
    • 2011-04-11
    相关资源
    最近更新 更多