C# 如何知道TextRange是否是或包含超链接?

C# 如何知道TextRange是否是或包含超链接?,c#,wpf,richtextbox,C#,Wpf,Richtextbox,我尝试使用TextRange.GetPropertyValue(DependencyProperty),但找不到将特定范围标识为超链接的de Dependency属性 如果不使用TextRange,是否仍要查找RichTextBox中的选定文本是否为超链接 谢谢:) 找到了一个答案,这不是我一直在寻找的,但仍然非常有效 这就是答案。这是GetHyperlink祖先方法。希望它能帮助其他人:)最简单的方法是创建一个“try-catch”,并在try中插入此代码超链接=新建超链接(); link.

我尝试使用TextRange.GetPropertyValue(DependencyProperty),但找不到将特定范围标识为超链接的de Dependency属性

如果不使用TextRange,是否仍要查找RichTextBox中的选定文本是否为超链接

谢谢:)


找到了一个答案,这不是我一直在寻找的,但仍然非常有效


这就是答案。这是GetHyperlink祖先方法。希望它能帮助其他人:)

最简单的方法是创建一个“try-catch”,并在try中插入此代码<代码>超链接=新建超链接(); link.NavigateUri=新Uri(link)如果出现异常,则它不是有效的超链接。你只需要处理异常,这样程序就不会死掉

如果字符串以“http://”开头,您还可以通过测试该字符串手动执行此操作。这是这样做的: `对于(int i=0;i }`


我希望您可以使用它。如果没有,仍然有一些可能检查链接。

最简单的方法是创建一个“try catch”,并在try中插入此代码。
Hyperlink=new Hyperlink();
link.NavigateUri=newURI(link);
如果出现异常,则它不是有效的超链接。您只需处理异常,以便程序不会死掉

如果字符串以“http://”开头,您也可以通过测试字符串手动执行此操作 `对于(int i=0;i }`

我希望你能用这个。如果没有,仍然有一些可能检查链接

//Do something here
//And to chech the end of the link
if(link[link.lenght-1] == 'm' && link[link.lenght-2] == 'o' && link[link.length-3] == 'c'...
    //Do something