NavigationService.Navigating Událost
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í.
Nastane, když je požadována nová navigace.
public:
event System::Windows::Navigation::NavigatingCancelEventHandler ^ Navigating;
public event System.Windows.Navigation.NavigatingCancelEventHandler Navigating;
member this.Navigating : System.Windows.Navigation.NavigatingCancelEventHandler
Public Custom Event Navigating As NavigatingCancelEventHandler
Event Type
Příklady
Následující příklad ukazuje, jak zpracovat Navigating zjištění, jestli byl proveden požadavek na aktualizaci statického obsahu, a pokud ano, zrušit požadavek.
void NavigationService_Navigating(object sender, NavigatingCancelEventArgs e)
{
// Don't allow refreshing of a static page
if ((e.NavigationMode == NavigationMode.Refresh) &&
(e.Uri.OriginalString == "StaticPage.xaml"))
{
e.Cancel = true;
}
}
Private Sub NavigationService_Navigating(ByVal sender As Object, ByVal e As NavigatingCancelEventArgs)
' Don't allow refreshing of a static page
If (e.NavigationMode = NavigationMode.Refresh) AndAlso (e.Uri.OriginalString = "StaticPage.xaml") Then
e.Cancel = True
End If
End Sub
Poznámky
Navigating je vyvolána, pokud je požadována nová navigace, ale před vyžádáním zdrojového obsahu, včetně následujících:
Navigate se volá.
GoBack nebo GoForward je volána (nebo je vybrána položka z navigačního uživatelského rozhraní).
Na fragment obsahu se přejde.
Pokud Navigating potřebujete zjistit relevantní informace týkající se navigačního požadavku před spuštěním navigace, zpracujete ho. Tyto informace jsou k dispozici z objektu NavigatingCancelEventArgs , který je předán obslužné rutině Navigating události.
Objekt WebRequest pro navigaci je vytvořen a dostupný z parametru NavigatingCancelEventArgs ; protože v tuto chvíli nebyl proveden skutečný požadavek, můžete objekt v případě potřeby znovu nakonfigurovat WebRequest .
V případě potřeby také zpracujete NavigatingCancelEventArgs zrušení navigace nastavením Cancel na hodnotu True. Pokud zrušíte navigaci, nebudou vyvolány žádné další události navigace.
Note
Pokud je vaše aplikace hostovaná v prohlížeči, nemůžete zabránit uživateli v navigaci mimo aplikaci zrušením Navigating události.
Po přechodu na první část obsahu pomocí navigátoru (NavigationWindow, Frame), každý obsah, který je přecházený mimo, se přidá do historie navigace. Pokud potřebujete uložit informace o stavu o obsahu, ze kterého se nacházíte, můžete stav přidat do položky deníku pro daný obsah nastavením ContentStateToSave objektu CustomContentState .
Note
Při NavigationService vyvolání Navigatingvyvolá také Application.Navigating událost objektu Application .