【问题标题】:Can hyperlinks work in XPS files displayed in WPF controls?超链接可以在 WPF 控件中显示的 XPS 文件中使用吗?
【发布时间】:2011-05-31 19:38:13
【问题描述】:

我正在尝试为软件应用程序创建帮助系统。界面是用 WPF 编写的。我有一个想要从应用程序访问的 XPS 文件(由 Word 文档生成)。 XPS 文件包含在 XPS 文件中重定向的超链接。我可以使用 DocumentViewer 控件显示文件,但超链接不起作用。 (当我在 XPS 查看器中查看相同的 XPS 文件时,超链接有效。)我是 WPF 新手,所以我可能会忽略一些东西,但我已经尝试让这个工作一周了,尽管我'我一直在学习,我手头的任务没有任何进展。我将不胜感激任何帮助。 -戴夫

【问题讨论】:

    标签: wpf hyperlink xps


    【解决方案1】:

    在您的代码后面添加以下代码以手动处理超链接:

    public MainWindow() {
        xpsViewer.AddHandler(Hyperlink.RequestNavigateEvent, new RequestNavigateEventHandler(OnRequestNavigate));
    }
    
    private void OnRequestNavigate(object sender, RequestNavigateEventArgs e) {
        // URI contains the page number (e.Uri = "...#PG_7_LNK_2")
        int pageNumber;
        if (int.TryParse(Regex.Match(e.Uri.ToString(), @"(?<=PG_)[0-9]+").Value, out pageNumber)) {
            xpsViewer.GoToPage(pageNumber);
        }
    }
    

    【讨论】:

      【解决方案2】:

      我知道这是个老问题,但对于任何寻求答案的人来说,我认为问题在于超链接只能在导航容器(框架或 NavigationWindow)中工作,因此您必须将 DocumentViewer 放在导航容器中。

      【讨论】:

        猜你喜欢
        • 2015-09-01
        • 2011-05-09
        • 1970-01-01
        • 1970-01-01
        • 2012-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-28
        相关资源
        最近更新 更多