NavigationService Classe

Definizione

Contiene metodi, proprietà ed eventi per supportare la navigazione.

public ref class NavigationService sealed
public sealed class NavigationService
type NavigationService = class
Public NotInheritable Class NavigationService
Ereditarietà
NavigationService

Commenti

NavigationService incapsula la possibilità di scaricare contenuto nel contesto di una navigazione in stile browser.

Il contenuto può essere qualsiasi tipo di file HTML e oggetto .NET Framework. In generale, tuttavia, le pagine sono le preferite come metodo per creare il pacchetto del contenuto per la navigazione (vedere Page).

È possibile passare al contenuto fornendo un'istanza di un oggetto e chiamando un overload del Navigate metodo che accetta un oggetto :

In alternativa, è possibile passare il contenuto a passando un URI relativo o assoluto a uno degli overload del Navigate metodo che accetta un URI:

Quando il contenuto viene spostato su per URI, NavigationService restituirà un oggetto che contiene il contenuto.

La durata di una navigazione può essere rilevata tramite gli eventi seguenti:

Non tutti gli eventi vengono generati ogni volta che si verifica una navigazione; il set di eventi generati è determinato dal tipo di navigazione che si verifica (contenuto o frammento di contenuto) e dal modo in cui lo spostamento viene completato (annullato, arrestato o non riuscito).

La figura seguente illustra la sequenza in cui vengono generati questi eventi:

Grafico a flusso della pagina Grafico di pagina

Durante o dopo uno spostamento, NavigationService fornisce informazioni sul contenuto a cui si passa, incluso l'URI del contenuto a cui si passa (Source), l'URI del contenuto corrente (CurrentSource) e un oggetto che contiene il contenuto a cui è stato eseguito lo spostamento (Content).

Quando si passa al contenuto, NavigationService registra lo spostamento come voce nella cronologia di navigazione. Una voce viene aggiunta alla cronologia di navigazione indietro quando si verifica una nuova navigazione, chiamando il Navigate metodo o passando a una voce nella cronologia di spostamento in avanti, chiamando GoForward. Una voce viene aggiunta per inoltrare la cronologia di navigazione passando a una voce nella cronologia di navigazione indietro, chiamando GoBack. CanGoBack e CanGoForward segnalano se sono presenti voci rispettivamente nella cronologia di navigazione indietro e in avanti. Inoltre, la voce più recente nella cronologia di spostamento indietro può essere rimossa chiamando RemoveBackEntry.

Per impostazione predefinita, NavigationService non archivia un'istanza di un oggetto contenuto nella cronologia di navigazione. Crea invece NavigationService una nuova istanza dell'oggetto contenuto ogni volta che si passa a usando la cronologia di navigazione. Questo comportamento è progettato per evitare un consumo eccessivo di memoria quando vengono spostati grandi numeri e grandi parti di contenuto. Di conseguenza, lo stato del contenuto non viene memorizzato da uno spostamento al successivo. WPF offre tuttavia diverse tecniche in base alle quali è possibile archiviare un elemento di stato per una parte di contenuto nella cronologia di spostamento.

Usando AddBackEntry, è anche possibile ricordare più set di stato per una singola istanza di pagina.

NavigationService è una sealed classe e pertanto non può essere creata un'istanza, ma NavigationService viene utilizzata dagli strumenti di navigazione per abilitare la navigazione. In WPF sono disponibili due strumenti di navigazione: NavigationWindow e Frame.

Visivamente, gli XBAP usano Internet Explorer 7 come strumento di navigazione per offrire un'esperienza utente integrata. Fisicamente, tuttavia, gli XBAP usano NavigationWindow effettivamente come strumento di navigazione; la MainWindow proprietà di un XBAP in esecuzione in Internet Explorer 7 restituirà un riferimento a NavigationWindowe la cronologia di navigazione gestita da NavigationWindow è integrata con la cronologia di navigazione gestita da Internet Explorer 7 nei modi seguenti:

  • Quando il contenuto viene spostato a chiamando Navigate, GoBacke GoForward dall'interno di un XBAP, le voci della cronologia di navigazione pertinenti vengono aggiunte anche alla cronologia di spostamento di Internet Explorer 7.

  • Quando vengono selezionate le voci nell'interfaccia utente di navigazione di Internet Explorer 7, Internet Explorer 7 fa NavigationService sì che passi indietro o inoltra al contenuto associato a tali voci.

Nota

Un Frame oggetto può fornire la propria cronologia di navigazione o usare la cronologia di navigazione dello strumento di navigazione che lo ospita. Se Frame fornisce la propria cronologia di navigazione, può visualizzare la propria interfaccia utente di navigazione per spostarsi tra le voci nella cronologia di navigazione. Tali voci non vengono aggiunte alla cronologia di navigazione dello strumento di spostamento host (NavigationWindow, Frame, Internet Explorer) e, di conseguenza, non possono essere spostate a dall'interfaccia utente di navigazione di ogni (vedere JournalOwnership).

Proprietà

CanGoBack

Ottiene un valore che indica se è presente almeno una voce nella cronologia di navigazione indietro.

CanGoForward

Ottiene un valore che indica se è presente almeno una voce nella cronologia di navigazione avanti.

Content

Ottiene o imposta un riferimento all'oggetto che contiene il contenuto corrente.

CurrentSource

Ottiene l'URI dell’ultimo contenuto sul quale ci si è spostati.

Source

Ottiene o imposta l'URI del contenuto corrente, o l'URI del nuovo contenuto nuovo sul quale ci si sta spostando.

Metodi

AddBackEntry(CustomContentState)

Aggiunge una voce alla cronologia di navigazione indietro che contiene un oggetto CustomContentState.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetNavigationService(DependencyObject)

Ottiene un riferimento a NavigationService per lo strumento di spostamento il cui contenuto include l'oggetto DependencyObject specificato.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GoBack()

Naviga alla eventuale voce più recente della cronologia di navigazione indietro.

GoForward()

Naviga alla eventuale voce più recente della cronologia di navigazione avanti.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Navigate(Object)

Si sposta in modo asincrono sul contenuto incluso in un oggetto.

Navigate(Object, Object)

Si naviga in modo asincrono sul contenuto incluso in un oggetto e passa un oggetto che contiene dati da utilizzare per l'elaborazione durante la navigazione.

Navigate(Uri)

Si sposta in modo asincrono sul contenuto specificato da un URI.

Navigate(Uri, Object)

Naviga in modo asincrono sul contenuto di origine disponibile a un URI e passa un oggetto che contiene dati da utilizzare per l'elaborazione durante la navigazione.

Navigate(Uri, Object, Boolean)

Si naviga in modo asincrono sul contenuto di origine disponibile a un URI, passa un oggetto contenente lo stato di navigazione per l'elaborazione durante la navigazione e inserisce il contenuto in un sandbox.

Refresh()

Ricarica il contenuto corrente.

RemoveBackEntry()

Rimuove la voce più recente del journal dalla cronologia indietro.

StopLoading()

Interrompe il download di contenuto per la richiesta di navigazione corrente.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Eventi

FragmentNavigation

Si verifica quando inizia lo spostamento su un frammento di contenuto, che si verifica immediatamente, se il frammento desiderato si trova nel contenuto corrente o dopo il caricamento del contenuto XAML di origine, se il frammento desiderato si trova in contenuto diverso.

LoadCompleted

Si verifica quando il contenuto sul quale ci si è spostati è stato caricato, analizzato e ne è iniziata l'esecuzione del rendering.

Navigated

Si verifica quando il contenuto sul quale si sta navigando viene trovato ed è disponibile tramite la proprietà Content, anche se il relativo caricamento potrebbe non essere stato completato.

Navigating

Si verifica quando viene richiesta una nuova navigazione.

NavigationFailed

Si verifica al verificarsi di un errore durante lo spostamento sul contenuto richiesto.

NavigationProgress

Si verifica periodicamente durante un download per fornire informazioni sullo stato dello spostamento.

NavigationStopped

Si verifica quando viene chiamato il metodo StopLoading(), o quando viene richiesta una nuova navigazione mentre è già in corso una navigazione.

Si applica a