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.

Obsahem může být libovolný typ objektu rozhraní .NET Framework a souborů HTML. Obecně jsou však stránky upřednostňované jako způsob balení obsahu pro navigaci (viz Page).

Obsah lze přejít na zadáním instance objektu a voláním přetížení Navigate metody, která přijímá objekt:

Případně můžete přejít na obsah předáním relativního nebo absolutního identifikátoru URI do jednoho z Navigate přetížení metody, která přijímá identifikátor URI:

Při přechodu na obsah podle identifikátoru URI vrátí objekt, NavigationService který obsahuje obsah.

Životnost navigace je možné sledovat prostřednictvím 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, ke které dochází (obsah nebo fragment obsahu) a tím, jak se navigace dokončí (zrušena, zastavena nebo selhala).

Následující obrázek znázorňuje sekvenci, ve které jsou tyto události vyvolány:

Vývojový diagram navigace na stránce Vývojový diagram

Během navigace nebo po něm poskytuje informace o obsahu, NavigationService na který se prochází, včetně identifikátoru URI obsahu, na který se přejde (Source), identifikátoru URI aktuálního obsahu (CurrentSource) a objektu, který obsahuje obsah, na který se přešel (Content).

Při přechodu na obsah se NavigationService navigace zaznamená jako záznam v historii navigace. Položka je přidána do historie navigace zpět, když dojde k nové navigaci, voláním Navigate metody nebo přechodem na položku v historii dopředné navigace voláním GoForward. Položka se přidá k přesměrování historie navigace tak, že přejdete na položku v historii zpětné navigace voláním GoBack. CanGoBack a CanGoForward oznamovat, zda jsou v historii zpětné a dopředné navigace položky. Voláním můžete také odebrat RemoveBackEntrynejnovější položku v historii zpětné navigace.

Ve výchozím nastavení NavigationService neukládá instanci objektu obsahu do historie navigace. Místo toho vytvoří novou instanci objektu obsahu pokaždé, NavigationService když na něj přejdete pomocí historie navigace. Toto chování je navržené tak, aby se zabránilo nadměrnému využití paměti, když se přechovává velké množství a velké části obsahu. V důsledku toho se stav obsahu nezapamatuje 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.

Pomocí AddBackEntrymůžete také pamatovat několik sad stavu pro jednu instanci stránky.

NavigationService sealed je třída, a proto nelze vytvořit instanci; NavigationService místo toho ji používají navigátory k povolení navigace. Ve WPF existují dva navigátory: NavigationWindow a Frame.

XBAP vizuálně používá Internet Explorer jako navigátor, který poskytuje integrované uživatelské prostředí. Fyzicky se ale XBAP používá NavigationWindow jako navigátor. MainWindow Vlastnost XBAP spuštěného v Internet Exploreru vrátí odkaz na NavigationWindowa historie navigace spravovaná nástrojem NavigationWindow je integrována s historií navigace spravovanou internetovou aplikací:

  • Při přechodu na obsah voláním Navigate, GoBacka GoForward z XBAP se příslušné položky historie navigace přidají také do historie navigace v Internet Exploreru.
  • Jsou-li vybrány položky v navigačním uživatelském rozhraní aplikace Internet Explorer, aplikace Internet Explorer způsobí NavigationService , že přejde zpět nebo vpřed k obsahu, který je přidružen k těmto položkám.

Poznámka

Může Frame poskytovat vlastní historii navigace nebo používat 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, Frame, prohlížeč) a v důsledku toho nelze přejít na 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 WPF hostovaným v prohlížeči (XBAP).

Vlastnosti

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.

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ě přejdete.

Metody

AddBackEntry(CustomContentState)

Přidá položku do historie navigace, která obsahuje CustomContentState objekt.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetNavigationService(DependencyObject)

Získá odkaz na NavigationService navigátor, jehož obsah obsahuje zadaný DependencyObject.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
GoBack()

Přejde na nejnovější položku v historii zpětné navigace, pokud existuje.

GoForward()

Přejděte na nejnovější položku v historii dopředné navigace, pokud existuje.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
Navigate(Object)

Přechod asynchronně na obsah obsažený v objektu

Navigate(Object, Object)

Přejděte asynchronně k obsahu obsaženému objektem a předejte objekt obsahující data, která se mají použít ke zpracování během navigace.

Navigate(Uri)

Přechod asynchronně k obsahu, který je určený identifikátorem URI.

Navigate(Uri, Object)

Přejděte asynchronně na zdrojový obsah umístěný na identifikátoru URI a předejte objekt obsahující data, která se mají použít ke zpracování během navigace.

Navigate(Uri, Object, Boolean)

Přejděte asynchronně na zdrojový obsah umístěný na identifikátoru URI, předejte objekt obsahující stav navigace ke zpracování během navigace a obsah v sandboxu.

Refresh()

Znovu načte aktuální obsah.

RemoveBackEntry()

Odebere nejnovější položku deníku ze zpětné historie.

StopLoading()

Zastaví další stahování obsahu aktuální žádosti o navigaci.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Událost

FragmentNavigation

Nastane při zahájení navigace na fragment obsahu, k čemuž 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

Vyvolá se v případě, že byl obsah, který byl navigován, byl načten, analyzován a začal se vykreslovat.

Navigated

Vyvolá se v případě, že byl nalezen obsah, na který přejdete, a je k dispozici z Content vlastnosti, i když je možné, že načtení nebylo dokončeno.

Navigating

Vyvolá se při požadavku na novou navigaci.

NavigationFailed

Vyvolá se, když při přechodu na požadovaný obsah dojde k chybě.

NavigationProgress

Vyskytuje se pravidelně během stahování a poskytuje informace o průběhu navigace.

NavigationStopped

Vyvolá se při StopLoading() zavolání metody nebo při požadavku na novou navigaci, zatímco probíhá aktuální navigace.

Platí pro