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 il contenuto nel contesto di uno spostamento in stile browser.
Il contenuto può essere qualsiasi tipo di file .NET Framework e HTML. In generale, tuttavia, le pagine sono le preferite come modo per creare pacchetti di contenuto per la navigazione (vedere Page).
Il contenuto può essere spostato in specificando un'istanza Navigate di un oggetto e chiamando un overload del metodo che accetta un oggetto:
In alternativa, è possibile passare al contenuto 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 il contenuto viene spostato in base all'URI, NavigationService restituirà un oggetto contenente 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 spostamento che si verifica (contenuto o frammento di contenuto) e il completamento della navigazione (annullata, arrestata o non riuscita).
La figura seguente illustra la sequenza in cui vengono generati questi eventi:
di
Durante o dopo uno spostamento, NavigationService fornisce informazioni sul contenuto che viene spostato su, incluso l'URI del contenuto a (), l'URI del contenuto corrente (CurrentSource) e un oggetto contenente il contenuto che è stato spostato su (SourceContent).
Quando il contenuto viene spostato su, NavigationService registra lo spostamento come voce nella cronologia di spostamento. Una voce viene aggiunta alla cronologia di spostamento indietro quando si verifica una nuova navigazione chiamando il Navigate metodo oppure passando a una voce nella cronologia di spostamento in avanti chiamando GoForward. Viene aggiunta una voce per inoltrare la cronologia di spostamento passando a una voce nella cronologia di spostamento indietro chiamando GoBack. CanGoBack e CanGoForward segnalare 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 spostamento. Crea invece NavigationService una nuova istanza dell'oggetto contenuto ogni volta che viene spostata usando la cronologia di spostamento. 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 ricordato da uno spostamento al successivo. WPF offre tuttavia diverse tecniche per cui è possibile archiviare un elemento di stato per un elemento 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; invece, NavigationService viene usata dai navigatori per abilitare la navigazione. In WPF sono disponibili due navigatori: NavigationWindow e Frame.
Visivamente, gli XBAP usano Internet Explorer come strumento di spostamento, 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 spostamento gestita dall'oggetto NavigationWindow è integrata con la cronologia di spostamento gestita da Internet Explorer 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.
- Quando le voci nell'interfaccia utente di spostamento di Internet Explorer sono selezionate, Internet Explorer causa NavigationService lo spostamento indietro o l'inoltro al contenuto associato a tali voci.
Nota
Un Frame oggetto può fornire la propria cronologia di spostamento oppure usare la cronologia di spostamento del navigatore che lo ospita. Se Frame fornisce la propria cronologia di spostamento, può visualizzare la propria interfaccia utente di spostamento per spostarsi tra le voci nella cronologia di spostamento; tali voci non vengono aggiunte alla cronologia di navigazione del navigatore host (, Frame, browser) e, di conseguenza, non possono essere spostate verso dall'interfaccia utente di spostamento di ogni (NavigationWindowvedere JournalOwnership).
Per altre informazioni sul supporto XBAP, vedere Domande frequenti sulle applicazioni ospitate dal browser WPF (XBAP).
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 viene avviata la navigazione in 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 è 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. |