我正在尝试为软件应用程序创建一个帮助系统。界面是用 WPF 编写的。我有一个想要从应用程序访问的 XPS 文件(由 Word 文档生成)。XPS 文件包含在 XPS 文件中重定向的超链接。我可以使用 DocumentViewer 控件显示文件,但超链接不起作用。(当我在 XPS 查看器中查看相同的 XPS 文件时,超链接有效。)我是 WPF 新手,所以我可能会忽略一些东西,但我已经尝试让这个工作一周了,尽管我'我一直在学习,我手头的任务没有任何进展。我将不胜感激任何帮助。-戴夫
问问题
1213 次
2 回答
3
在后面的代码中添加以下代码以手动处理超链接:
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);
}
}
于 2016-04-18T13:02:55.070 回答
0
我知道这是一个老问题,但对于任何寻找答案的人来说,我认为问题在于超链接只能在导航容器 - Frame 或 NavigationWindow 中工作,因此您必须将 DocumentViewer 放在导航容器中。
于 2012-05-04T13:07:58.807 回答