次の方法で共有


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 します。 この情報は、イベント ハンドラーに NavigatingCancelEventArgs 渡される Navigating オブジェクトから入手できます。

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

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

注意

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

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

注意

が 発生NavigatingするとNavigationService、 オブジェクトに対Applicationするイベントも発生Application.Navigatingします。

適用対象

こちらもご覧ください