我试图在wpf中打开一个xps文档,将vb作为带有documentviewer的固定文档,然后导航到文档中的书签/链接。我已经解压缩了xps并找到了DocStucture.struct中的可用链接,但我不知道如何告诉文档查看器转到链接的位置。 documentviewer包含在窗口中的Frame中,我可以单击文档目录中的链接到不同的链接。目的是允许最终用户在他/她按下按钮时将文档打开到特定位置(该文档是用户指南)。
有人可以解释一下如何做到这一点吗? 谢谢!
编辑: 我已经尝试将链接打包成uri,但是我只能弄清楚如何使框架导航到uri而不是文档查看器:
包含用户手册的窗口的类:
Partial Public Class UserManual
Private Sub DocViewer_Loaded(ByVal sender as Object, ByVal e as System.Windows.RoutedEventArgs)
Dim documentName As String = "@.\User Manual.xps"
Dim xpsDoc As XpsDocument
xpsDoc = New XpsDocument(documentName, IO.FileAccess.Read)
DocViewer.Document = xpsDoc.GetFixedDocumentSequence
End Sub
Public Sub New()
MyBase.New()
Me.InitializeComponent()
End Sub
End Class
在主窗口中将打开用户手册:
Private Sub Button_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs)
Dim UserManualWindow As UserManual = New UserManual
UserManualWindow.Show()
Dim uri = New Uri("pack://file:,,,/User Manual.xps#PG_8_LNK_94")
UserManualWindow.DocFrame.Navigate(uri)
End Sub
这不起作用。框架只显示了uri的文本。我找不到类似于documentviewer的方法。 gotopage方法只接受页码,而不是链接。
答案 0 :(得分:0)
所以我设法完成了它,并了解到我很接近。我只需要设置框架的来源,而不是命令框架导航到uri:
UserManualWindow.DocFrame.Source = uri
现在帧更新为xps文档中的正确片段。