Domanda

Sono in grado di caricare un documento RTF in RichTextBox, ma i collegamenti che il documento contiene ad alcuni siti Web non funzionano. Qualcuno ha idea del perché? Qualche soluzione per far funzionare i collegamenti?

Cordiali saluti,
Paulo Azevedo

È stato utile?

Soluzione

WPF per impostazione predefinita non capisce dove si desidera visualizzare i collegamenti, quindi ciò che sta accadendo è che la classe Hyperlink sta generando un evento, RequestNavigate e in attesa di te, il progettista dell'applicazione, affinché avvenga l'effettiva navigazione.

Presumo che tu voglia solo avviare il browser configurato per il sistema, quindi ecco tutto ciò che devi fare:

  1. Aggancia Hyperlink :: RequestNavigate evento indirizzato
  2. Chiama Process.Start con l'URL ricevuto per consentire al sistema operativo di avviare il browser.

Potrebbe sembrare qualcosa del genere:

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());
    }
}

Altri suggerimenti

Ecco un modo in cui ho risolto i collegamenti in file Rich Text.

Caricamento di RichTextBox da un file RTF mediante associazione o controllo RichTextFile

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top