RTF avec des liens dans un WPT RichTextBox
-
10-07-2019 - |
Question
Je peux charger un document RTF dans une RichTextBox, mais les liens que ce document contient vers certains sites Web ne fonctionnent pas. Quelqu'un a une idée pourquoi? Une solution pour que les liens fonctionnent?
Cordialement,
Paulo Azevedo
La solution
Par défaut, WPF ne comprend pas où vous voulez afficher les liens. La classe Hyperlien déclenche donc un événement, RequestNavigate , et attend que vous, le concepteur de l’application, provoquiez la navigation réelle.
Je suppose que vous souhaitez simplement lancer le navigateur Web configuré par le système. Voici donc tout ce que vous devez faire:
- Accrochez le Lien hypertexte :: RequestNavigate événement routé
- Appelez Process.Start avec l'URL que vous recevez pour que le système d'exploitation lance le navigateur.
Cela pourrait ressembler un peu à ceci:
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());
}
}
Autres conseils
Voici un moyen de résoudre les liens dans des fichiers texte enrichis.