Sdílet prostřednictvím


NavigationService Třída

Definice

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:

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í:

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:

Vývojový graf navigace na stránce

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á.

Platí pro