NavigationService Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Innehåller metoder, egenskaper och händelser som stöd för navigering.
public ref class NavigationService sealed
public sealed class NavigationService
type NavigationService = class
Public NotInheritable Class NavigationService
- Arv
-
NavigationService
Kommentarer
NavigationService Kapslar in möjligheten att ladda ned innehåll i kontexten för en navigering i webbläsarformat.
Innehåll kan vara vilken typ av .NET Framework-objekt och HTML-filer som helst. I allmänhet är dock sidor det bästa sättet att paketera innehåll för navigering (se Page).
Innehåll kan navigeras till genom att ange en instans av ett objekt och anropa en överlagring av metoden Navigate som accepterar ett objekt:
Alternativt kan innehåll navigeras till genom att skicka en relativ eller absolut URI till en av de Navigate metodöverlagringar som accepterar en URI:
- NavigationService.Navigate(Uri)
- NavigationService.Navigate(Uri, Object)
- NavigationService.Navigate(Uri, Object, Boolean)
När innehållet navigeras till av URI NavigationService returneras ett objekt som innehåller innehållet.
Livslängden för en navigering kan spåras genom följande händelser:
- Navigating
- Navigated
- NavigationProgress
- NavigationFailed
- NavigationStopped
- LoadCompleted
- FragmentNavigation
Alla händelser aktiveras inte varje gång en navigering sker. den uppsättning händelser som aktiveras bestäms av vilken typ av navigering som inträffar (innehåll eller innehållsfragment) och hur navigeringen slutförs (avbryts, stoppas eller misslyckades).
Följande bild illustrerar i vilken ordning dessa händelser utlöses:
Under eller efter en navigering NavigationService innehåller information om innehållet som navigeras till, inklusive URI:n för innehållet som navigeras till (Source), URI:n för det aktuella innehållet (CurrentSource) och ett objekt som innehåller innehållet som navigerades till (Content).
När innehåll navigeras till NavigationService registrerar navigeringen som en post i navigeringshistoriken. En post läggs till i navigeringshistoriken när antingen en ny navigering inträffar, genom att anropa Navigate metoden eller genom att navigera till en post i navigeringshistoriken framåt genom att anropa GoForward. En post läggs till i vidarebefordran av navigeringshistoriken genom att navigera till en post i bakåtnavigeringshistoriken genom att anropa GoBack. CanGoBack och CanGoForward rapportera om det finns poster i navigeringshistoriken för bakåt respektive framåt. Dessutom kan den senaste posten i bakåtnavigeringshistoriken tas bort genom att anropa RemoveBackEntry.
Som standard NavigationService lagrar inte en instans av ett innehållsobjekt i navigeringshistoriken. NavigationService Skapar i stället en ny instans av innehållsobjektet varje gång det navigeras till med hjälp av navigeringshistorik. Det här beteendet är utformat för att undvika överdriven minnesförbrukning när stora mängder och stora delar av innehållet navigeras till. Det innebär att innehållets tillstånd inte kommer ihåg från en navigering till en annan. Men WPF innehåller flera tekniker där du kan lagra ett tillstånd för en del av innehållet i navigeringshistoriken.
Med kan AddBackEntrydu också komma ihåg flera tillståndsuppsättningar för en enskild sidinstans.
NavigationService är en sealed klass och kan därför inte instansieras. I stället NavigationService används den av navigatörer för att aktivera navigering. I WPF finns det två navigatörer: NavigationWindow och Frame.
Visuellt använder XBAP:er Internet Explorer som navigatör för att ge en integrerad användarupplevelse. Fysiskt använder dock XBAP:er faktiskt NavigationWindow som navigatör; egenskapen MainWindow för en XBAP som körs i Internet Explorer returnerar en referens till NavigationWindow och navigeringshistoriken som hanteras av NavigationWindow är integrerad med navigeringshistoriken som hanteras av Internet Explorer på följande sätt:
- När innehåll navigeras till genom att anropa Navigate, GoBack och GoForward inifrån en XBAP läggs även relevanta navigeringshistorikposter till i Internet Explorer navigeringshistorik.
- När poster i det Internet Explorer navigeringsgränssnittet har valts Internet Explorer gör NavigationService att navigera tillbaka eller framåt till det innehåll som är associerat med dessa poster.
Note
A Frame kan ange sin egen navigeringshistorik eller använda navigeringshistoriken för navigatören som är värd för den. Om Frame innehåller en egen navigeringshistorik kan den visa ett eget navigeringsgränssnitt för att navigera genom posterna i navigeringshistoriken. Dessa poster läggs inte till i värdnavigatorns navigeringshistorik (NavigationWindow, Frame, webbläsare) och kan därför inte navigeras till från navigeringsgränssnittet för var och en (se JournalOwnership).
Mer information om XBAP-stöd finns i Frequently frågor om WPF webbläsarbaserade program (XBAP).
Egenskaper
| Name | Description |
|---|---|
| CanGoBack |
Hämtar ett värde som anger om det finns minst en post i bakåtnavigeringshistoriken. |
| CanGoForward |
Hämtar ett värde som anger om det finns minst en post i navigeringshistoriken framåt. |
| Content |
Hämtar eller anger en referens till objektet som innehåller det aktuella innehållet. |
| CurrentSource |
Hämtar URI:n för innehållet som senast navigerades till. |
| Source |
Hämtar eller anger URI:n för det aktuella innehållet eller URI:n för nytt innehåll som för närvarande navigeras till. |
Metoder
| Name | Description |
|---|---|
| AddBackEntry(CustomContentState) |
Lägger till en post i navigeringshistoriken som innehåller ett CustomContentState objekt. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetNavigationService(DependencyObject) |
Hämtar en referens till NavigationService för navigatören vars innehåll innehåller den angivna DependencyObject. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GoBack() |
Navigerar till den senaste posten i bakåtnavigeringshistoriken, om det finns en. |
| GoForward() |
Navigera till den senaste posten i navigeringshistoriken, om det finns en. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| Navigate(Object, Object) |
Navigera asynkront till innehåll som finns i ett objekt och skicka ett objekt som innehåller data som ska användas för bearbetning under navigeringen. |
| Navigate(Object) |
Navigera asynkront till innehåll som finns i ett objekt. |
| Navigate(Uri, Object, Boolean) |
Navigera asynkront till källinnehåll som finns på en URI, skicka ett objekt som innehåller navigeringstillstånd för bearbetning under navigeringen och sandbox-innehåll. |
| Navigate(Uri, Object) |
Navigera asynkront till källinnehåll som finns på en URI och skicka ett objekt som innehåller data som ska användas för bearbetning under navigeringen. |
| Navigate(Uri) |
Navigera asynkront till innehåll som anges av en URI. |
| Refresh() |
Läser in det aktuella innehållet igen. |
| RemoveBackEntry() |
Tar bort den senaste journalposten från bakåthistoriken. |
| StopLoading() |
Stoppar ytterligare nedladdning av innehåll för den aktuella navigeringsbegäran. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Händelser
| Name | Description |
|---|---|
| FragmentNavigation |
Inträffar när navigeringen till ett innehållsfragment börjar, vilket sker omedelbart, om det önskade fragmentet finns i det aktuella innehållet eller efter att käll-XAML-innehållet har lästs in, om det önskade fragmentet finns i ett annat innehåll. |
| LoadCompleted |
Inträffar när innehåll som navigerats till har lästs in, parsats och börjat återges. |
| Navigated |
Inträffar när det innehåll som navigeras till har hittats och är tillgängligt från egenskapen, även om det kanske inte har slutfört inläsningen Content . |
| Navigating |
Inträffar när en ny navigering begärs. |
| NavigationFailed |
Inträffar när ett fel inträffar när du navigerar till det begärda innehållet. |
| NavigationProgress |
Inträffar regelbundet under en nedladdning för att tillhandahålla information om navigeringsförloppet. |
| NavigationStopped |
Inträffar när StopLoading() metoden anropas eller när en ny navigering begärs medan en aktuell navigering pågår. |