RTF con collegamenti in un WPF RichTextBox
-
10-07-2019 - |
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
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:
- Aggancia Hyperlink :: RequestNavigate evento indirizzato
- 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