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

最好的问候,
Paulo Azevedo

有帮助吗?

解决方案

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

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

  1. 挂钩超链接:: RequestNavigate 路由事件
  2. 致电 Process.Start 您收到的让操作系统启动浏览器的URL。
  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());
        }
    }
    

其他提示

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

使用绑定或RichTextFile控件从RTF文件加载RichTextBox

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top