NavigationService.Navigating Událost

Definice

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.

Navigating.

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 .

Platí pro

Viz také