I have this code where I'm creating an XPS document and set it to the document viewer, also the document viewer is in a frame which allows me to navigate inside the viewer to a specific bookmark(according to this link).
var fixedDocument = ...XPS document logic here...;
var stream = new MemoryStream();
var uri = new Uri("pack://document.xps", UriKind.Absolute);
var package = Package.Open(stream, FileMode.Create, FileAccess.ReadWrite);
PackageStore.AddPackage(uri, package);
var xpsDoc = new XpsDocument(package, CompressionOption.NotCompressed, uri.AbsoluteUri);
var docWriter = XpsDocument.CreateXpsDocumentWriter(xpsDoc);
docWriter.Write(fixedDocument);
FixedDocumentSequence document = xpsDoc.GetFixedDocumentSequence();
viewer.DocFrame.Source = ((System.Windows.Markup.IUriContext)document).BaseUri;
viewer.Preview.Viewer.Document = xpsDoc.GetFixedDocumentSequence();
DocFrame.Source is correct "pack://pack:,,document.xps,/FixedDocumentSequence.fdseq"
The problem is when I try to navigate to a specific bookmark in the document like
var uri = new Uri("pack://pack:,,document.xps,/FixedDocumentSequence.fdseq#asd");
DocFrame.Navigate(uri);
I get the error "Application identity is not set." A new document viewer is generated but the visualization point is on the top most page (default) meaning that it is not moving at all.
What I have tried:
var fixedDocument = ...XPS document logic here...;
var stream = new MemoryStream();
var uri = new Uri("pack://document.xps", UriKind.Absolute);
var package = Package.Open(stream, FileMode.Create, FileAccess.ReadWrite);
PackageStore.AddPackage(uri, package);
var xpsDoc = new XpsDocument(package, CompressionOption.NotCompressed, uri.AbsoluteUri);
var docWriter = XpsDocument.CreateXpsDocumentWriter(xpsDoc);
docWriter.Write(fixedDocument);
FixedDocumentSequence document = xpsDoc.GetFixedDocumentSequence();
viewer.DocFrame.Source = ((System.Windows.Markup.IUriContext)document).BaseUri;
viewer.Preview.Viewer.Document = xpsDoc.GetFixedDocumentSequence();
DocFrame.Source is correct "pack://pack:,,document.xps,/FixedDocumentSequence.fdseq"