В WPF у меня есть DocumentViewer внутри элемента управления Frame. DocumentViewer показывает документ XPS, сгенерированный с помощью MS Word. Документ содержит таблицу содержимого, чтобы помочь перемещаться по документу.WPF DocumentViewer: перемещаться по внутренней ссылке неточно при первом нажатии
DocumentViewer позволяет пользователю щелкнуть эти ссылки и перейти к соответствующим страницам, если DocumentViewer помещен в элемент управления, который позволяет осуществлять навигацию (например, Frame).
Когда пользователь переходит в первый раз, DocumentViewer не переходит точно в связанное местоположение. Чем дальше в документе, тем больше становится пространство между местом прыжка и фактическим местоположением. Похоже, что он отключен на определенную сумму за страницу. После этой первой ссылки нажмите, навигация работает отлично.
При навигации с помощью кнопок навигации на кадре точность привязки ведет себя снова, как только загрузится самое первое представление.
По сообщению this, после первого щелчка по ссылке создается новый DocumentViewer. Кажется, что это создает экземпляр, который работает так, как ожидалось.
Почему первоначальный экземпляр не точно выполняет навигацию и как это решить?
Ниже приведенный ниже код может быть использован для воспроизведения проблемы.
XAML внутри окна: за
<Frame>
<Frame.Content>
<DocumentViewer Name="docViewer" />
</Frame.Content>
</Frame>
Код:
public MainWindow()
{
InitializeComponent();
LoadDoc();
}
private void LoadDoc()
{
XpsDocument xpsDoc = new XpsDocument("test.xps", FileAccess.Read);
docViewer.Document = xpsDoc.GetFixedDocumentSequence();
}
test.xps документ содержит оглавление и две главы с около 40 страниц между ними. Проблема становится понятной при навигации по второй главе (она отключена на 3 страницы).
ли вы когда-нибудь найти решение этой проблемы ? Я столкнулся с тем же делом –
@ Dave_750 Привет, Дейв, нет, к сожалению нет. Это еще одна проблема в нашем продукте: ( – Chris
Спасибо за то, что я вернулся. Я тоже ничего не нашел. Если это помогает, я отобразил xps в управлении веб-браузером, и он отлично работает, за исключением того, что я должен ждать 5 секунд чтобы он полностью загрузился или он все еще прыгает в неправильное место. Мне также пришлось добавить пустую страницу в конец. Styling был PITA тоже ... –