Я пытаюсь открыть документ xps в wpf с vb как фиксированный документ с помощью documentviewer, а затем перейти к закладке/ссылке в документе. Я распаковал xps и нашел доступные ссылки в DocStucture.struct, но я не знаю, как сообщить documentviewer перейти к местоположению ссылки. Documentviewer содержится в рамке в окне, и я могу щелкнуть ссылку в таблице содержания документа на разные ссылки. Цель состоит в том, чтобы позволить конечному пользователю открыть документ в определенном месте, когда он нажимает кнопку (документ является руководством пользователя).перейти к ссылке в документе xps с помощью wpf
Может кто-нибудь объяснить, как это сделать? Спасибо!
редактировать: Я попытался упаковками ссылки в Урия, однако я могу только выяснить, как сделать кадр перейти к 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. Я не могу найти аналогичный метод documentviewer. Метод getopage принимает только номер страницы, а не ссылку.