Share via


NavigationService Klasse

Definition

Enthält Methoden, Eigenschaften und Ereignisse zur Unterstützung der Navigation.

public ref class NavigationService sealed
public sealed class NavigationService
type NavigationService = class
Public NotInheritable Class NavigationService
Vererbung
NavigationService

Hinweise

NavigationService kapselt die Möglichkeit, Inhalte im Kontext einer Browsernavigation herunterzuladen.

Der Inhalt kann ein beliebiger Typ von .NET Framework-Objekt- und HTML-Dateien sein. Im Allgemeinen sind Seiten jedoch die bevorzugte Methode zum Verpacken von Inhalten für die Navigation (siehe Page).

Inhalt kann durch Bereitstellen einer instance eines Objekts und Aufrufen einer Überladung der -Methode, die Navigate ein -Objekt akzeptiert, navigiert werden:

Alternativ kann der Inhalt durch Übergeben eines relativen oder absoluten URI an eine der Methodenüberladungen, die Navigate einen URI akzeptiert, navigiert werden:

Wenn der Inhalt durch den URI navigiert wird, gibt ein -Objekt zurück, NavigationService das den Inhalt enthält.

Die Lebensdauer einer Navigation kann über die folgenden Ereignisse nachverfolgt werden:

Nicht alle Ereignisse werden bei jeder Navigation ausgelöst. Der Satz der ausgelösten Ereignisse wird durch den Typ der auftretenden Navigation (Inhalt oder Inhaltsfragment) und den Abschluss der Navigation (abgebrochen, beendet oder fehlgeschlagen) bestimmt.

Die folgende Abbildung veranschaulicht die Reihenfolge, in der diese Ereignisse ausgelöst werden:

Seitennavigationsflussdiagramm

Stellt während oder nach einer Navigation Informationen zum Inhalt bereit, NavigationService zu dem navigiert wird, einschließlich des URI des Inhalts, zu dem navigiert wird (Source), dem URI des aktuellen Inhalts (CurrentSource) und einem Objekt, das den Inhalt enthält, der zu (Content) navigiert wurde.

Wenn Inhalt zu navigiert wird, NavigationService zeichnet die Navigation als Eintrag im Navigationsverlauf auf. Ein Eintrag wird dem Verlauf der Zurücknavigation hinzugefügt, wenn entweder eine neue Navigation auftritt, indem die Navigate -Methode aufgerufen wird, oder indem zu einem Eintrag im Vorwärtsnavigationsverlauf navigiert wird, indem aufgerufen GoForwardwird. Ein Eintrag wird hinzugefügt, um den Navigationsverlauf weiterzuleiten, indem zu einem Eintrag im Zurücknavigationsverlauf navigiert wird, indem aufgerufen GoBackwird. CanGoBack und CanGoForward melden, ob Einträge im Vorwärts- bzw. Rückwärtsnavigationsverlauf vorhanden sind. Außerdem kann der neueste Eintrag im Verlauf der Backnavigation entfernt werden, indem sie aufrufen RemoveBackEntry.

Speichert standardmäßig NavigationService keine instance eines Inhaltsobjekts im Navigationsverlauf. Stattdessen erstellt jedes Mal, NavigationService wenn es mithilfe des Navigationsverlaufs zu navigiert wird, eine neue instance des Inhaltsobjekts. Dieses Verhalten wurde entwickelt, um einen übermäßigen Arbeitsspeicherverbrauch zu vermeiden, wenn große Mengen und große Teile von Inhalten navigiert werden. Folglich wird der Zustand des Inhalts von einer Navigation zur nächsten nicht gespeichert. WPF bietet jedoch mehrere Techniken, mit denen Sie einen Teil des Zustands für einen Teil des Inhalts im Navigationsverlauf speichern können.

Mit AddBackEntrykönnen Sie sich auch mehrere Zustandssätze für eine einzelne Seite instance merken.

NavigationService ist eine sealed Klasse und kann daher nicht instanziiert werden. Stattdessen wird von Navigatoren verwendet, NavigationService um die Navigation zu aktivieren. In WPF gibt es zwei Navigatoren: NavigationWindow und Frame.

Visuell verwenden XBAPs internetbasierte Explorer als Navigator, um eine integrierte Benutzererfahrung zu ermöglichen. Physisch verwenden NavigationWindow XBAPs jedoch tatsächlich als Navigator. Die Eigenschaft einer XBAP, die MainWindow in Internet Explorer ausgeführt wird, gibt einen Verweis auf zurückNavigationWindow, und der navigationsverlauf, der NavigationWindow von verwaltet wird, ist in den Navigationsverlauf integriert, der von Internet Explorer auf folgende Weise verwaltet wird:

  • Wenn Inhalte durch Aufrufen Navigatevon , GoBackund GoForward innerhalb eines XBAP zu navigieren, werden auch die relevanten Navigationsverlaufseinträge zum Internet Explorer Navigationsverlauf hinzugefügt.
  • Wenn Einträge im Internet Explorer Navigationsoberfläche ausgewählt sind, führt NavigationService internet Explorer dazu, zurück zu dem Inhalt zu navigieren, der diesen Einträgen zugeordnet ist.

Hinweis

Ein Frame kann einen eigenen Navigationsverlauf bereitstellen oder den Navigationsverlauf des Navigators verwenden, der ihn hostet. Wenn Frame einen eigenen Navigationsverlauf bereitstellt, kann eine eigene Navigationsoberfläche angezeigt werden, um durch die Einträge im Navigationsverlauf zu navigieren. Diese Einträge werden nicht dem Navigationsverlauf des Hostnavigators (NavigationWindow, Frame, Browser) hinzugefügt und können daher nicht über die Navigationsoberfläche der einzelnen Navigationselemente navigiert werden (siehe JournalOwnership).

Weitere Informationen zur XBAP-Unterstützung finden Sie unter Häufig gestellte Fragen zu browsergehosteten WPF-Anwendungen (XBAP).

Eigenschaften

CanGoBack

Ruft einen Wert ab, der angibt, ob der Navigationsverlauf zurück mindestens einen Eintrag enthält.

CanGoForward

Ruft einen Wert ab, der angibt, ob der Navigationsverlauf vor mindestens einen Eintrag enthält.

Content

Ruft einen Verweis auf das Objekt ab, das den aktuellen Inhalt enthält, oder legt diesen Verweis fest.

CurrentSource

Ruft den URI des Inhalts ab, zu dem zuletzt navigiert wurde.

Source

Ruft den URI des aktuellen Inhalts oder den URI des neuen Inhalts ab, zu dem zurzeit navigiert wird, oder legt diesen fest.

Methoden

AddBackEntry(CustomContentState)

Fügt einen Eintrag zum Navigationsverlauf zurück hinzu, der ein CustomContentState-Objekt enthält.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetNavigationService(DependencyObject)

Ruft einen Verweis auf den NavigationService für den Navigator ab, dessen Inhalt das angegebene DependencyObject enthält.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GoBack()

Navigiert zum letzten Eintrag im Navigationsverlauf zurück, sofern vorhanden.

GoForward()

Navigiert zum letzten Eintrag im Navigationsverlauf vor, sofern vorhanden.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Navigate(Object)

Navigiert asynchron zu Inhalt, der in einem Objekt enthalten ist.

Navigate(Object, Object)

Navigiert asynchron zu Inhalt in einem Objekt und übergibt ein Objekt mit Daten, die für die Verarbeitung während der Navigation verwendet werden.

Navigate(Uri)

Navigiert asynchron zu dem Inhalt, der durch einen URI angegeben wird.

Navigate(Uri, Object)

Navigiert asynchron zum Quellinhalt am URI und übergibt ein Objekt mit Daten, die für die Verarbeitung während der Navigation verwendet werden.

Navigate(Uri, Object, Boolean)

Navigiert asynchron zum Quellinhalt am URI, übergibt ein Objekt mit dem Navigationszustand für die Verarbeitung während der Navigation und stellt eine Sandboxumgebung für den Inhalt bereit.

Refresh()

Lädt den aktuellen Inhalt erneut.

RemoveBackEntry()

Entfernt den letzten Journaleintrag aus dem Verlauf zurück.

StopLoading()

Bricht das weitere Herunterladen von Inhalt für die aktuelle Navigationsanforderung ab.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Ereignisse

FragmentNavigation

Tritt auf, wenn die Navigation zu einem Inhaltsfragment beginnt, was sofort erfolgt, wenn sich das gewünschte Fragment im aktuellen Inhalt befindet, oder nachdem der XAML-Quellinhalt geladen wurde, wenn sich das gewünschte Fragment in einem anderen Inhalt befindet.

LoadCompleted

Tritt ein, wenn der Inhalt, zu dem navigiert wird, geladen und analysiert und mit dem Rendering begonnen wurde.

Navigated

Tritt ein, wenn der Inhalt, zu dem navigiert wird, gefunden wurde. Dieses Ereignis ist über die Content-Eigenschaft verfügbar, auch wenn diese noch nicht vollständig geladen wurde.

Navigating

Tritt ein, wenn eine neue Navigation angefordert wird.

NavigationFailed

Tritt ein, wenn ein Fehler auftritt, während zum angeforderten Inhalt navigiert wird.

NavigationProgress

Tritt regelmäßig während eines Downloadvorgangs auf, um Informationen zum Navigationsstatus bereitzustellen.

NavigationStopped

Tritt ein, wenn die StopLoading()-Methode aufgerufen wird oder wenn eine neue Navigation angefordert wird, während eine aktuelle Navigation noch ausgeführt wird.

Gilt für: