NavigationService.Navigating イベント

定義

新しいナビゲーションが要求されたときに発生します。

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 

イベントの種類

次の例は、静的コンテンツを更新する要求が行われたかどうかを検出する Navigating を処理し、要求を取り消す方法を示しています。

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

注釈

Navigating は、新しいナビゲーションが要求されたが、ソース コンテンツが要求される前に発生します。次の場合が含まれます。

  • Navigate が呼び出されます

  • GoBack または GoForward が呼び出されます (または、ナビゲーション UI からエントリが選択されています)。

  • コンテンツ フラグメントに移動します。

ナビゲーションを開始する前に、ナビゲーション要求に関する関連情報を検出する必要がある場合は、 Navigating を処理します。 この情報は、Navigating イベント ハンドラーに渡されるNavigatingCancelEventArgs オブジェクトから入手できます。

ナビゲーションの WebRequest オブジェクトが作成され、 NavigatingCancelEventArgs パラメーターから使用できます。この時点で実際の要求が行われなかったため、必要に応じて、 WebRequest オブジェクトを再構成できます。

必要に応じて、Cancelを true に設定して、ナビゲーションを取り消すNavigatingCancelEventArgsも処理します。 ナビゲーションを取り消すと、他のナビゲーション イベントは発生しません。

Note

アプリケーションがブラウザーでホストされている場合、 Navigating イベントを取り消すことで、ユーザーがアプリケーションから離れるのを防ぐことはできません。

最初のコンテンツがナビゲーター (NavigationWindowFrame) によって移動されると、移動先の各コンテンツがナビゲーション履歴に追加されます。 移動先のコンテンツに関する状態情報を保存する必要がある場合は、CustomContentState オブジェクトでContentStateToSave設定することで、そのコンテンツのジャーナル エントリに状態を追加できます。

Note

NavigationServiceNavigatingを発生させると、Application.Navigating オブジェクトApplicationイベントも発生します。

適用対象

こちらもご覧ください