Ich versuche ein Hilfesystem für eine Softwareanwendung zu erstellen. Die Schnittstelle ist in WPF geschrieben. Ich habe eine XPS-Datei (aus einem Word-Dokument erstellt), auf die ich von der Anwendung aus zugreifen möchte. Die XPS-Datei enthält Hyperlinks, die in der XPS-Datei umleiten. Ich kann die Datei mit dem DocumentViewer-Steuerelement anzeigen, aber die Hyperlinks funktionieren nicht. (Wenn ich die gleiche XPS-Datei im XPS-Viewer anschaue, funktionieren die Hyperlinks.) Ich bin neu bei WPF, also kann ich etwas übersehen, aber ich habe versucht, dies jetzt für eine Woche zu erledigen und obwohl ich Wenn ich auf dem Weg lerne, komme ich mit der Aufgabe nicht voran. Ich würde jede Hilfe sehr schätzen. -DaveKönnen Hyperlinks in XPS-Dateien funktionieren, die in WPF-Steuerelementen angezeigt werden?
4
A
Antwort
0
Ich weiß, das ist alte Frage, aber für alle auf der Suche nach einer Antwort, ich denke, das Problem ist, dass Hyperlinks nur in einem Navigationscontainer - Frame oder NavigationWindow arbeiten, so dass Sie DocumentViewer im Navigationscontainer platzieren müssen.
1
Fügen Sie den folgenden Code im Code hinter den Hyperlinks zu handhaben manuell:
public MainWindow() {
xpsViewer.AddHandler(Hyperlink.RequestNavigateEvent, new RequestNavigateEventHandler(OnRequestNavigate));
}
private void OnRequestNavigate(object sender, RequestNavigateEventArgs e) {
// URI contains the page number (e.Uri = "...#PG_7_LNK_2")
int pageNumber;
if (int.TryParse(Regex.Match(e.Uri.ToString(), @"(?<=PG_)[0-9]+").Value, out pageNumber)) {
xpsViewer.GoToPage(pageNumber);
}
}