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.
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:
- NavigationService.Navigate(Uri)
- NavigationService.Navigate(Uri, Object)
- NavigationService.Navigate(Uri, Object, Boolean)
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í:
- 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, 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:
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. |