1

我正在尝试使用 vb 在 wpf 中打开一个 xps 文档作为带有 documentviewer 的固定文档,然后导航到文档中的书签/链接。我解压了 xps 并在 DocStucture.struct 中找到了可用的链接,但我不知道如何告诉文档查看器转到链接的位置。文档查看器包含在窗口的框架中,我可以单击文档目录中的链接到不同的链接。目的是允许最终用户在他/她按下按钮时将文档打开到特定位置(文档是用户指南)。

有人可以解释如何做到这一点吗?谢谢!

编辑:我尝试将链接打包到uri中,但是我只能弄清楚如何使框架导航到uri而不是documentviewer:

包含用户手册的窗口的类:

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 的文本。我找不到类似的文档查看器方法。gotopage 方法只接受页码,而不是链接。

4

1 回答 1

0

所以我设法通过它并了解到我很接近。而不是命令框架导航到 uri,我只需要设置框架的源:

UserManualWindow.DocFrame.Source = uri

现在框架更新为 xps 文档中的正确片段。

于 2013-09-19T18:58:11.787 回答