方法: 移動履歴の前後への移動
この例では、ナビゲーション履歴内のエントリ間を前方または後方に移動する方法を示します。
例
次のホストのコンテンツから実行されたコードでは、ナビゲーション履歴内を、一度に 1 エントリずつ、前方または後方に移動できます。
NavigationService を使用する Frame
Internet Explorer
1 つ前方のエントリに移動するには、その前にまず、CanGoForward プロパティを調べて、ナビゲーション履歴で前方にエントリがあることを確認する必要があります。 1 つ前方のエントリに移動するには、GoForward メソッドを呼び出します。 これを次の例に示します。
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
1 つ後方のエントリに移動するには、その前にまず、CanGoBack プロパティを調べて、ナビゲーション履歴で後方にエントリがあることを確認する必要があります。 1 つ後方のエントリに移動するには、GoBack メソッドを呼び出します。 これを次の例に示します。
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、GoBack は、NavigationWindow、Frame、NavigationService によって実装されています。
Note
GoForward を呼び出して、ナビゲーション履歴の前方にエントリがない場合、または GoBack を呼び出して、ナビゲーション履歴の後方にエントリがない場合は、InvalidOperationException がスローされます。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET Desktop feedback