Как узнать, является ли TextRange гиперссылкой или содержит ее? - PullRequest
2 голосов
/ 29 августа 2011

Я пытался с TextRange.GetPropertyValue (DependencyProperty), но я не могу найти свойство de Dependency, которое идентифицирует определенный диапазон как гиперссылку.

Если не с TextRange, есть ли в любом случае найти, если выбранный текствнутри RichTextBox есть гиперссылка?

Спасибо:)


Нашел ответ, который не тот, который я искал, но все еще работает очень хорошо.

Здесь ответ.Это метод GetHyperlinkAncestor.Надеюсь, что это помогает другим людям:)

1 Ответ

0 голосов
/ 28 октября 2011

Самый простой способ - создать «ловить попытку» и вставить этот код в попытку. Hyperlink link = new Hyperlink(); link.NavigateUri = new Uri(link); Если вы получили исключение, это недействительная гиперссылка. Вам просто нужно обработать исключение, чтобы программа не умерла.

Вы также можете сделать это вручную, протестировав строку, если она начинается с "http://".. Это делается так: `for (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

} `

Я надеюсь, что вы можете использовать это. Если нет, все еще есть возможность проверить ссылку.

...