NavigationService Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Obsahuje metody, vlastnosti a události pro podporu navigace.
public ref class NavigationService sealed
public sealed class NavigationService
type NavigationService = class
Public NotInheritable Class NavigationService
- Dědičnost
-
NavigationService
Poznámky
NavigationService zapouzdřuje schopnost stahovat obsah v kontextu navigace ve stylu prohlížeče.
Obsah může být libovolný typ objektu rozhraní .NET Framework a souborů HTML. Obecně se ale stránky preferují jako způsob balení obsahu pro navigaci (viz Page).
Obsah lze přejít na poskytnutí instance objektu a volání přetížení Navigate metody, která přijímá objekt:
Případně můžete k obsahu přejít předáním relativního nebo absolutního identifikátoru Navigate URI do jednoho z přetížení metody, které přijímá identifikátor URI:
- NavigationService.Navigate(Uri)
- NavigationService.Navigate(Uri, Object)
- NavigationService.Navigate(Uri, Object, Boolean)
Při přechodu na obsah podle identifikátoru URI NavigationService vrátí objekt, který obsahuje obsah.
Životnost navigace se dá sledovat pomocí následujících událostí:
- Navigating
- Navigated
- NavigationProgress
- NavigationFailed
- NavigationStopped
- LoadCompleted
- FragmentNavigation
Ne všechny události jsou vyvolány pokaždé, když dojde k navigaci; sada událostí, které jsou vyvolány, je určena typem navigace (obsah nebo fragment obsahu) a způsobem dokončení navigace (zrušeno, zastaveno nebo selhalo).
Následující obrázek znázorňuje posloupnost, ve které jsou tyto události vyvolány:
Během nebo po navigaci poskytuje informace o obsahu, NavigationService na který se přechází, včetně identifikátoru URI obsahu, na který se přechází (Source), identifikátoru URI aktuálního obsahu (CurrentSource) a objektu obsahujícího obsah, na který byl přešel (Content).
Při přechodu na NavigationService obsah zaznamenává navigaci jako položku v historii navigace. Položka se přidá do historie navigace zpět, když dojde buď k nové navigaci, zavoláním Navigate metody nebo přechodem na položku v historii navigace vpřed voláním GoForward. Položka se přidá do historie navigace vpřed tak, že přejdete na položku v historii zpětné navigace voláním GoBack. CanGoBack a CanGoForward nahlašujte, zda jsou položky v historii navigace vzadu a vpřed. Poslední položku v historii zpětné navigace lze také odebrat voláním RemoveBackEntry.
Ve výchozím nastavení NavigationService neukládá instanci objektu obsahu v historii navigace. NavigationService Místo toho vytvoří novou instanci objektu obsahu při každém přechodu pomocí historie navigace. Toto chování je navržené tak, aby se zabránilo nadměrné spotřebě paměti při přechodu na velké množství a velké části obsahu. V důsledku toho se stav obsahu nepamatuje z jedné navigace na další. WPF však poskytuje několik technik, pomocí kterých můžete uložit část stavu pro část obsahu v historii navigace.
Použití AddBackEntry, můžete si také zapamatovat více sad stavu pro jednu stránku instance.
NavigationService
sealed je třída, a proto nelze vytvořit instanci; místo toho NavigationService je používána navigátory k povolení navigace. Ve WPF existují dva navigátory: NavigationWindow a Frame.
XBAPs vizuálně používají Internet Explorer jako navigátor k zajištění integrovaného uživatelského prostředí. Fyzicky však XBAPs skutečně používají NavigationWindow jako navigátor; MainWindow vlastnost XBAP spuštěného v Internet Exploreru vrátí odkaz na NavigationWindowa historie navigace spravovaná pomocí NavigationWindow integrované s historií navigace, která je spravována Internet Explorerem následujícími způsoby:
- Při přechodu na obsah voláním Navigate, GoBacka GoForward z XBAP relevantní položky historie navigace jsou přidány také do historie navigace aplikace Internet Explorer.
- Když jsou vybrány položky v navigačním uživatelském rozhraní aplikace Internet Explorer, internet Explorer způsobí NavigationService přechod zpět nebo přeposílání obsahu, který je k těmto položkám přidružený.
Poznámka:
Může Frame poskytnout vlastní historii navigace nebo použít historii navigace navigátoru, který ho hostuje. Pokud Frame poskytuje vlastní historii navigace, může zobrazit vlastní navigační uživatelské rozhraní pro procházení položek v historii navigace; tyto položky nejsou přidány do historie navigace navigátoru hostitele (NavigationWindow, , Frameprohlížeč) a v důsledku toho nelze přejít z navigačního uživatelského rozhraní každého z nich (viz JournalOwnership).
Další informace o podpoře XBAP najdete v tématu Nejčastější dotazy k aplikacím hostovaným v prohlížeči WPF (XBAP).
Vlastnosti
| Name | Description |
|---|---|
| CanGoBack |
Získá hodnotu, která označuje, zda existuje alespoň jedna položka v historii zpětné navigace. |
| CanGoForward |
Získá hodnotu, která označuje, zda existuje alespoň jedna položka v historii navigace vpřed. |
| Content |
Získá nebo nastaví odkaz na objekt, který obsahuje aktuální obsah. |
| CurrentSource |
Získá identifikátor URI obsahu, na který byl naposledy přešel. |
| Source |
Získá nebo nastaví identifikátor URI aktuálního obsahu nebo identifikátor URI nového obsahu, na který právě probíhá přechod. |
Metody
| Name | Description |
|---|---|
| AddBackEntry(CustomContentState) |
Přidá položku do historie navigace, která obsahuje CustomContentState objekt. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetNavigationService(DependencyObject) |
Získá odkaz na NavigationService navigátor, jehož obsah obsahuje zadaný DependencyObject. |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| GoBack() |
Pokud existuje, přejde na nejnovější položku v historii zpětné navigace. |
| GoForward() |
Pokud existuje, přejděte na nejnovější položku v historii navigace dopředu. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Navigate(Object, Object) |
Přejděte asynchronně na obsah obsažený objektem a předejte objekt obsahující data, která se mají použít ke zpracování během navigace. |
| Navigate(Object) |
Asynchronně přejděte k obsahu, který je obsažen objektem. |
| Navigate(Uri, Object, Boolean) |
Asynchronně přejděte ke zdrojovému obsahu umístěnému v identifikátoru URI, předejte objekt obsahující navigační stav pro zpracování během navigace a obsah sandboxu. |
| Navigate(Uri, Object) |
Přejděte asynchronně ke zdrojovému obsahu umístěnému v identifikátoru URI a předejte objekt obsahující data, která se mají použít ke zpracování během navigace. |
| Navigate(Uri) |
Asynchronně přejděte k obsahu určenému identifikátorem URI. |
| Refresh() |
Znovu načte aktuální obsah. |
| RemoveBackEntry() |
Odebere nejnovější položku deníku z historie zpět. |
| StopLoading() |
Zastaví další stahování obsahu pro aktuální navigační požadavek. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Událost
| Name | Description |
|---|---|
| FragmentNavigation |
Nastane při zahájení navigace na fragment obsahu, ke kterému dojde okamžitě, pokud je požadovaný fragment v aktuálním obsahu nebo po načtení zdrojového obsahu XAML, pokud je požadovaný fragment v jiném obsahu. |
| LoadCompleted |
Nastane, když byl obsah, na který byl přešel, načten, parsován a začal vykreslovat. |
| Navigated |
Nastane, když byl nalezen obsah, na který se přechází, a je k dispozici z Content vlastnosti, ačkoli se nemusí dokončit načítání. |
| Navigating |
Nastane, když je požadována nová navigace. |
| NavigationFailed |
Nastane, když dojde k chybě při přechodu na požadovaný obsah. |
| NavigationProgress |
Probíhá pravidelně během stahování a poskytuje informace o průběhu navigace. |
| NavigationStopped |
Nastane, StopLoading() když je volána metoda nebo když je požadována nová navigace, zatímco aktuální navigace probíhá. |