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 možnost 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ě 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 jednomu z Navigate 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 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 jak se navigace dokončí (zrušena, zastavena nebo selhala).

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 navigace nebo po něm poskytuje informace o obsahu, NavigationService na který se přechovává, včetně identifikátoru URI obsahu, na který je přecháděna (Source), identifikátoru URI aktuálního obsahu (CurrentSource) a objektu, který obsahuje obsah, na který byl přecháděný (Content).

Při přechodu na obsah se NavigationService navigace zaznamená jako položka v historii navigace. Položka se přidá do historie zpětné navigace, když dojde k nové navigaci, zavoláním Navigate metody nebo přechodem na položku v historii dopředné navigace voláním GoForwardpříkazu . Položka se přidá k přesměrování historie navigace tak, že přejdete na položku v historii zpětné navigace zavoláním GoBackpříkazu . CanGoBack a CanGoForward oznamovat, zda jsou položky v historii zpětné a dopředné navigace. Nejnovější 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. 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 při přechodu na velká čísla a velké části obsahu. V důsledku toho se stav obsahu nezapamatuje z jedné navigace na další. WPF ale nabízí několik technik, pomocí kterých můžete uložit část stavu pro část obsahu v historii navigace.

Pomocí AddBackEntrypříkazu si také můžete zapamatovat několik sad stavu pro instanci jedné stránky.

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

Vizuálně používají XBAPs Internet Explorer 7 jako navigátor, aby poskytovaly integrované uživatelské prostředí. Fyzicky však XBAP skutečně používají NavigationWindow jako navigátor. MainWindow Vlastnost XBAP spuštěné v Aplikaci Internet Explorer 7 vrátí odkaz na NavigationWindowa historie navigace spravovaná nástrojem NavigationWindow je integrována s historií navigace spravovanou aplikací Internet Explorer 7 následujícími způsoby:

  • Při přechodu na obsah voláním Navigate, GoBacka GoForward z XBAP se do historie navigace internet exploreru 7 přidají také příslušné položky historie navigace.

  • Když jsou vybrány položky v navigačním uživatelském rozhraní aplikace Internet Explorer 7, aplikace Internet Explorer 7 způsobí NavigationService , že se vrátí nebo přepojí na obsah, který je k těmto položkám přidružený.

Poznámka

A Frame může 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, Internet Explorer) a v důsledku toho nelze přejít z navigačního uživatelského rozhraní každé z nich (viz JournalOwnership).

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 dopředné 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ý je právě přecháděna.

Metody

AddBackEntry(CustomContentState)

Přidá položku zpět 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()

Získá aktuální Type instanci.

(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 dopředné navigace.

MemberwiseClone()

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

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

Přejděte asynchronně k obsahu, který je obsažen v objektu.

Navigate(Object, Object)

Přejděte asynchronně k obsahu, který je obsažen v objektu, a předejte objekt, který obsahuje data, která se mají použít ke zpracování během navigace.

Navigate(Uri)

Přejděte asynchronně k obsahu určenému identifikátorem URI.

Navigate(Uri, Object)

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

Navigate(Uri, Object, Boolean)

Přejděte asynchronně ke zdrojovému obsahu umístěnému na identifikátoru URI, předejte objekt obsahující stav navigace pro zpracování během navigace a obsah v izolovaném prostoru.

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 aktuálního navigačního požadavku.

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 k fragmentu obsahu, která nastane 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 v případě, že byl obsah, na který jste přešli, načten, parsován a začal vykreslovat.

Navigated

Nastane, když byl nalezen obsah, na který je přecházen, a je k dispozici z Content vlastnosti, ačkoli je možné, že se načítání nedokončilo.

Navigating

Nastane, když je požadována nová navigace.

NavigationFailed

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 při zavolání StopLoading() metody nebo při požadavku na novou navigaci, zatímco probíhá aktuální navigace.

Platí pro