Jak poruszać się w przód i wstecz w historii nawigacji

W tym przykładzie pokazano, jak przechodzić do przodu lub wracać do wpisów w historii nawigacji.

Przykład

Kod uruchamiany z zawartości na następujących hostach może przechodzić do przodu lub z powrotem przez historię nawigacji— jeden wpis naraz.

Przed przejściem do przodu jednego wpisu należy najpierw sprawdzić, czy istnieją wpisy w historii nawigacji do przodu, sprawdzając właściwość CanGoForward . Aby przejść do przodu o jeden wpis, należy wywołać metodę GoForward . Przedstawiono to w poniższym przykładzie:

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

Przed przejściem z powrotem do jednego wpisu należy najpierw sprawdzić, czy istnieją wpisy w historii nawigacji z powrotem, sprawdzając właściwość CanGoBack . Aby powrócić do jednego wpisu, wywołasz metodę GoBack . Przedstawiono to w poniższym przykładzie:

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, CanGoBack i GoBack są implementowane przez NavigationWindow, Framei NavigationService.

Uwaga

Jeśli wywołasz metodę GoForward i nie ma żadnych wpisów w historii nawigacji do przodu lub jeśli wywołasz funkcję GoBack i nie ma żadnych wpisów w historii nawigacji z powrotem, InvalidOperationException zostanie zgłoszony element .