Sdílet prostřednictvím


Postupy: Navigace vpřed nebo zpět prostřednictvím historie navigace

Tento příklad ukazuje, jak přejít vpřed nebo zpět na položky v historii navigace.

Příklad

Kód, který běží z obsahu v následujících hostitelích, může procházet dopředu nebo zpět v historii navigace, a to po jedné položce.

Než budete moct přejít vpřed o jednu položku, musíte nejprve zkontrolovat, zda jsou položky v historii navigace dopředu zkontrolováním vlastnosti CanGoForward. Pokud chcete přejít vpřed o jednu položku, zavoláte metodu GoForward. To je znázorněno v následujícím příkladu:

void navigateForwardButton_Click(object sender, RoutedEventArgs e)
{
    // Navigate forward one page from this page, if there is an entry
    // in forward navigation history
    if (this.NavigationService.CanGoForward)
    {
        this.NavigationService.GoForward();
    }
    else
    {
        MessageBox.Show("No entries in forward navigation history.");
    }
}
Private Sub navigateForwardButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    ' Navigate forward one page from this page, if there is an entry
    ' in forward navigation history
    If Me.NavigationService.CanGoForward Then
        Me.NavigationService.GoForward()
    Else
        MessageBox.Show("No entries in forward navigation history.")
    End If
End Sub

Než budete moct přejít zpět o jednu položku, musíte nejprve zkontrolovat, zda jsou položky v historii navigace zpět, zkontrolováním vlastnosti CanGoBack. Chcete-li přejít zpět o jednu položku, zavoláte metodu GoBack. To je znázorněno v následujícím příkladu:

void navigateBackButton_Click(object sender, RoutedEventArgs e)
{
    // Navigate back one page from this page, if there is an entry
    // in back navigation history
    if (this.NavigationService.CanGoBack)
    {
        this.NavigationService.GoBack();
    }
    else
    {
        MessageBox.Show("No entries in back navigation history.");
    }
}
Private Sub navigateBackButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    ' Navigate back one page from this page, if there is an entry
    ' in back navigation history
    If Me.NavigationService.CanGoBack Then
        Me.NavigationService.GoBack()
    Else
        MessageBox.Show("No entries in back navigation history.")
    End If
End Sub

CanGoForward, GoForward, CanGoBacka GoBack implementují NavigationWindow, Framea NavigationService.

Poznámka:

Pokud voláte GoForwarda v historii navigace nejsou žádné položky, nebo pokud voláte GoBacka v historii zpětné navigace nejsou žádné položky, vyvolá se InvalidOperationException.