RTF со ссылками в RichTextBox WPF - PullRequest
       12

RTF со ссылками в RichTextBox WPF

2 голосов
/ 29 октября 2009

Я могу загрузить документ RTF в RichTextBox, но ссылки, которые документ содержит на некоторые веб-сайты, не работают. У кого-нибудь есть идеи, почему? Какое-то решение, чтобы ссылки работали?

С уважением,
Пауло Азеведо

Ответы [ 2 ]

3 голосов
/ 29 октября 2009

WPF по умолчанию не понимает, где вы хотите, чтобы ссылки отображались, поэтому происходит то, что класс Hyperlink запускает событие, RequestNavigate и ожидает, что вы, разработчик приложения, вызовете фактическая навигация произойдет.

Полагаю, вы просто хотите запустить настроенный системой веб-браузер, так что вот все, что вам нужно сделать:

  1. Подключите гиперссылку :: RequestNavigate перенаправленное событие
  2. Вызовите Process.Start с URL-адресом, который вы получите, чтобы ОС запустила браузер.

Это может выглядеть примерно так:

public class MyWindow : Window
{
    public MyWindow()
    {
        this.InitializeComponent();

        this.myRichTextBox.AddHandler(Hyperlink.RequestNavigate, MyWidow.HandleRequestNavigate);
    }

    private static void HandleRequestNavigate(object sender, RequestNavigateEventArgs args)
    {
            Process.Start(args.Uri.ToString());
    }
}
1 голос
/ 02 августа 2011

Вот один из способов, которым я решил ссылки в форматированных текстовых файлах.

Загрузка RichTextBox из файла RTF с использованием привязки или элемента управления RichTextFile

...