Bagikan melalui


NavigationService.Navigating Kejadian

Definisi

Terjadi ketika navigasi baru diminta.

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 

Jenis Acara

Contoh

Contoh berikut menunjukkan cara menangani Navigating untuk mendeteksi apakah permintaan untuk me-refresh konten statis telah dibuat dan, jika demikian, untuk membatalkan permintaan.

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

Keterangan

Navigating dinaikkan saat navigasi baru diminta, tetapi sebelum konten sumber diminta, termasuk ketika:

  • Navigate dipanggil.

  • GoBack atau GoForward dipanggil (atau entri dipilih dari antarmuka pengguna navigasi).

  • Fragmen konten dinavigasi.

Anda menangani Navigating jika Anda perlu menemukan informasi yang bersangkutan mengenai permintaan navigasi sebelum navigasi dimulai. Informasi ini tersedia dari NavigatingCancelEventArgs objek yang diteruskan ke penanganan Navigating aktivitas.

Objek WebRequest untuk navigasi dibuat dan tersedia dari NavigatingCancelEventArgs parameter; karena permintaan aktual belum dibuat pada saat ini, Anda dapat mengonfigurasi WebRequest ulang objek, jika perlu.

Anda juga menangani NavigatingCancelEventArgs untuk membatalkan navigasi, jika diperlukan, dengan mengatur Cancel ke true. Jika Anda membatalkan navigasi, tidak ada peristiwa navigasi lain yang dinaikkan.

Catatan

Jika aplikasi Anda dihosting di browser, Anda tidak dapat mencegah pengguna menavigasi jauh dari aplikasi Anda dengan membatalkan Navigating peristiwa.

Setelah bagian pertama konten dinavigasi oleh navigator (NavigationWindow, Frame), setiap bagian konten yang dinavigasi jauhnya ditambahkan ke riwayat navigasi. Jika Anda perlu menyimpan informasi status tentang konten tempat Anda menavigasi jauh, Anda dapat menambahkan status ke entri jurnal untuk konten tersebut dengan mengatur ContentStateToSave dengan CustomContentState objek .

Catatan

Ketika NavigationService menaikkan Navigating, itu juga menaikkan Application.Navigating peristiwa pada Application objek .

Berlaku untuk

Lihat juga