2013-09-18 6 views
0

Я пытаюсь открыть документ 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 принимает только номер страницы, а не ссылку.

ответ

0

Так что мне удалось проработать это и узнал, что я был близок. Вместо того, чтобы командовать кадр, чтобы перейти к Ури, мне просто нужно установить источник фрейма:

UserManualWindow.DocFrame.Source = uri 

Теперь обновление кадров для правильного фрагмента внутри документа РФЭСА.

Смежные вопросы