Partilhar via


Como: Navegar para frente ou para trás através do histórico de navegação

Este exemplo ilustra como navegar para frente ou para trás para entradas no histórico de navegação.

Exemplo

O código executado a partir do conteúdo nos seguintes hosts pode navegar para frente ou para trás através do histórico de navegação, uma entrada de cada vez.

Antes de se poder navegar para uma entrada seguinte, deve-se primeiro verificar se há entradas no histórico de navegação direta, inspecionando a propriedade CanGoForward. Para navegar para frente uma entrada, chame o método GoForward. Isto é ilustrado no seguinte exemplo:

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

Antes de conseguires navegar para trás uma entrada, deves primeiro verificar se há entradas no histórico de navegação para trás, inspecionando a propriedade CanGoBack. Para navegar de volta uma entrada, chame o método GoBack. Isto é ilustrado no seguinte exemplo:

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, CanGoBacke GoBack são implementados por NavigationWindow, Framee NavigationService.

Observação

Se você chamar GoForward, e não houver entradas no histórico de navegação direta, ou se você chamar GoBack, e não houver entradas no histórico de navegação posterior, uma InvalidOperationException será lançada.