NavigationService Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 oggetto .NET Framework e file HTML. In generale, tuttavia, le pagine sono il modo preferito 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:
- NavigationService.Navigate(Uri)
- NavigationService.Navigate(Uri, Object)
- NavigationService.Navigate(Uri, Object, Boolean)
Quando si passa al contenuto in base all'URI, NavigationService restituisce un oggetto che contiene il contenuto.
La durata di una navigazione può essere rilevata tramite gli eventi seguenti:
- Navigating
- Navigated
- NavigationProgress
- NavigationFailed
- NavigationStopped
- LoadCompleted
- FragmentNavigation
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 la navigazione viene completata (annullata, arrestata o non riuscita).
La figura seguente illustra la sequenza in cui vengono generati questi eventi:
di pagina
Durante o dopo uno spostamento, NavigationService fornisce informazioni sul contenuto a cui si sta passando, incluso l'URI del contenuto da passare a (Source), l'URI del contenuto corrente (CurrentSource) e un oggetto che contiene il contenuto a cui è stato effettuato 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 spostamento indietro quando si verifica una nuova navigazione, chiamando il Navigate metodo o passando a una voce nella cronologia di navigazione in avanti, chiamando GoForward. Una voce viene aggiunta per inoltrare la cronologia di navigazione passando a una voce nella cronologia di spostamento indietro, chiamando GoBack. CanGoBack e CanGoForward segnalano se sono presenti voci rispettivamente nella cronologia di spostamento 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 si passa a numeri elevati 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 navigazione.
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. Viene invece NavigationService utilizzata dagli strumenti di navigazione per abilitare la navigazione. In WPF sono disponibili due strumenti di spostamento: NavigationWindow e Frame.
Visivamente, gli XBAP usano Internet Explorer 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 restituirà un riferimento a NavigationWindowe la cronologia di navigazione gestita da NavigationWindow è integrata con la cronologia di navigazione gestita da Internet Explorer nei modi seguenti:
- Quando si passa al contenuto chiamando Navigate, GoBacke GoForward dall'interno di un XBAP, le voci della cronologia di spostamento pertinenti vengono aggiunte anche alla cronologia di navigazione di Internet Explorer.
- Quando vengono selezionate le voci nell'interfaccia utente di spostamento di Internet Explorer, Internet Explorer determina NavigationService la navigazione verso il contenuto associato a tali voci.
Annotazioni
Un Frame oggetto può fornire la propria cronologia di navigazione o utilizzare 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, browser) e, di conseguenza, non possono essere spostate dall'interfaccia utente di navigazione di ogni (vedere JournalOwnership).
Per altre informazioni sul supporto XBAP, vedere Domande frequenti sulle applicazioni ospitate dal browser WPF (XBAP).
Proprietà
| Nome | Descrizione |
|---|---|
| CanGoBack |
Ottiene un valore che indica se è presente almeno una voce nella cronologia di spostamento indietro. |
| CanGoForward |
Ottiene un valore che indica se è presente almeno una voce nella cronologia di navigazione in avanti. |
| Content |
Ottiene o imposta un riferimento all'oggetto che contiene il contenuto corrente. |
| CurrentSource |
Ottiene l'URI del contenuto a cui è stato eseguito l'ultimo passaggio. |
| Source |
Ottiene o imposta l'URI del contenuto corrente o l'URI del nuovo contenuto attualmente in corso di spostamento. |
Metodi
| Nome | Descrizione |
|---|---|
| AddBackEntry(CustomContentState) |
Aggiunge una voce alla cronologia di spostamento indietro che contiene un CustomContentState oggetto . |
| 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 all'oggetto NavigationService per lo strumento di navigazione il cui contenuto contiene l'oggetto specificato DependencyObject. |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| GoBack() |
Passa alla voce più recente nella cronologia di spostamento indietro, se presente. |
| GoForward() |
Passare alla voce più recente nella cronologia di spostamento in avanti, se presente. |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| Navigate(Object, Object) |
Passare in modo asincrono al contenuto contenuto da un oggetto e passare un oggetto contenente i dati da utilizzare per l'elaborazione durante la navigazione. |
| Navigate(Object) |
Passare in modo asincrono al contenuto contenuto da un oggetto . |
| Navigate(Uri, Object, Boolean) |
Passare in modo asincrono al contenuto di origine situato in un URI, passare un oggetto contenente lo stato di navigazione per l'elaborazione durante la navigazione e sandbox il contenuto. |
| Navigate(Uri, Object) |
Passare in modo asincrono al contenuto di origine situato in un URI e passare un oggetto contenente i dati da usare per l'elaborazione durante la navigazione. |
| Navigate(Uri) |
Passare in modo asincrono al contenuto specificato da un URI. |
| Refresh() |
Ricarica il contenuto corrente. |
| RemoveBackEntry() |
Rimuove la voce del journal più recente dalla cronologia precedente. |
| StopLoading() |
Arresta il download del contenuto per la richiesta di navigazione corrente. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Eventi
| Nome | Descrizione |
|---|---|
| FragmentNavigation |
Si verifica quando inizia lo spostamento verso 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 a cui è stato eseguito lo spostamento è stato caricato, analizzato e ha iniziato a eseguire il rendering. |
| Navigated |
Si verifica quando il contenuto a cui si sta navigando è stato trovato ed è disponibile dalla proprietà , anche se potrebbe non aver completato il Content caricamento. |
| Navigating |
Si verifica quando viene richiesta una nuova navigazione. |
| NavigationFailed |
Si verifica quando si verifica un errore durante il passaggio al contenuto richiesto. |
| NavigationProgress |
Si verifica periodicamente durante un download per fornire informazioni sullo stato di spostamento. |
| NavigationStopped |
Si verifica quando viene chiamato il StopLoading() metodo o quando viene richiesta una nuova navigazione mentre è in corso una navigazione corrente. |