2009-10-29 5 views
1

Je suis capable de charger un document RTF dans un RichTextBox, mais les liens que le document contient vers certains sites ne fonctionnent pas. Quelqu'un a une idée pourquoi? Une solution pour faire fonctionner les liens?RTF avec des liens dans un RichTextBox WPF

Meilleures salutations,
Paulo Azevedo

Répondre

3

WPF par défaut ne comprend pas où vous voulez que les liens à afficher, donc ce qui se passe est que la classe Hyperlink tire un événement, RequestNavigate, et vous attend, le concepteur d'application, pour provoquer la navigation proprement dite.

Je suppose que vous voulez juste lancer le système configuré navigateur Web, voici donc tout ce que vous devez faire:

  1. Accrochez l'événement routé Hyperlink::RequestNavigate
  2. Call Process.Start avec l'URL que vous recevez d'avoir le système d'exploitation lance le navigateur.

Cela pourrait ressembler à un petit quelque chose comme 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()); 
    } 
} 
+0

Bonjour Drew, Merci pour votre réponse. Le problème n'est pas comment vous l'avez décrit. Le problème est que j'ai un mot "lien" et ce mot a un lien hypertexte vers un site Web dans le document RTF. Dans le RichTextBox, le mot apparaît avec un soulignement, et le pointeur de la souris est une main, mais le clic ne fonctionne pas. Des indices? – Paulo

+0

Ah, pas de problème. Je sais ce dont tu as besoin, laisse-moi réviser ma réponse. –