RTF与RichTextBox WPF中的链接

时间:2009-10-29 16:04:21

标签: wpf richtextbox

我可以在RichTextBox中加载rtf文档,但文档包含的某些网站的链接不起作用。 任何人都知道为什么?一些使链接有效的解决方案?

最好的问候,
Paulo Azevedo

2 个答案:

答案 0 :(得分:3)

WPF默认情况下不了解您希望链接显示的位置,因此发生的事情是Hyperlink类正在触发事件RequestNavigate,并期望您(应用程序设计人员)引起实际导航发生。

我假设你只想启动系统配置的网络浏览器,所以这就是你需要做的所有事情:

  1. 挂钩Hyperlink::RequestNavigate路由事件
  2. 使用您收到的URL调用Process.Start,让操作系统启动浏览器。
  3. 这可能看起来像这样:

    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 :(得分:1)

以下是解决富文本文件中链接的一种方法。

Loading a RichTextBox from an RTF file using binding or a RichTextFile control