Share via


NavigationService Kelas

Definisi

Berisi metode, properti, dan peristiwa untuk mendukung navigasi.

public ref class NavigationService sealed
public sealed class NavigationService
type NavigationService = class
Public NotInheritable Class NavigationService
Warisan
NavigationService

Keterangan

NavigationService merangkum kemampuan untuk mengunduh konten dalam konteks navigasi gaya browser.

Konten dapat berupa semua jenis objek .NET Framework dan file HTML. Namun, secara umum, halaman lebih disukai sebagai cara mengemas konten untuk navigasi (lihat Page).

Konten dapat dinavigasi dengan menyediakan instans objek dan memanggil kelebihan beban Navigate metode yang menerima objek:

Atau, konten dapat dinavigasi dengan meneruskan URI relatif atau absolut ke salah Navigate satu metode kelebihan beban yang menerima URI:

Ketika konten dinavigasi oleh URI, NavigationService akan mengembalikan objek yang berisi konten.

Masa pakai navigasi dapat dilacak melalui peristiwa berikut:

Tidak semua peristiwa dimunculkan setiap kali navigasi terjadi; kumpulan peristiwa yang dinaikkan ditentukan oleh jenis navigasi yang terjadi (konten atau fragmen konten) dan bagaimana navigasi selesai (dibatalkan, dihentikan, atau gagal).

Gambar berikut mengilustrasikan urutan di mana peristiwa ini dinaikkan:

Bagan alur navigasi halaman

Selama atau setelah navigasi, NavigationService memberikan informasi tentang konten yang sedang dinavigasi, termasuk URI konten yang dinavigasi ke (Source), URI konten saat ini (CurrentSource), dan objek yang berisi konten yang dinavigasi ke (Content).

Saat konten dinavigasi ke, NavigationService rekam navigasi sebagai entri dalam riwayat navigasi. Entri ditambahkan ke riwayat navigasi kembali saat navigasi baru terjadi, dengan memanggil Navigate metode , atau dengan menavigasi ke entri dalam riwayat navigasi pengalihan, dengan memanggil GoForward. Entri ditambahkan untuk meneruskan riwayat navigasi dengan menavigasi ke entri dalam riwayat navigasi belakang, dengan memanggil GoBack. CanGoBack dan CanGoForward laporkan apakah ada entri dalam riwayat navigasi kembali dan maju, masing-masing. Selain itu, entri terbaru dalam riwayat navigasi belakang dapat dihapus dengan memanggil RemoveBackEntry.

Secara default, NavigationService tidak menyimpan instans objek konten dalam riwayat navigasi. Sebaliknya, NavigationService membuat instans baru objek konten setiap kali dinavigasi dengan menggunakan riwayat navigasi. Perilaku ini dirancang untuk menghindari konsumsi memori yang berlebihan ketika konten dalam jumlah besar dan konten besar sedang dinavigasi. Akibatnya, status konten tidak diingat dari satu navigasi ke navigasi berikutnya. Namun, WPF menyediakan beberapa teknik di mana Anda dapat menyimpan sepotong status untuk sepotong konten dalam riwayat navigasi.

Menggunakan AddBackEntry, Anda juga dapat mengingat beberapa set status untuk satu instans halaman.

NavigationService adalah sealed kelas dan karenanya tidak dapat dibuat; sebaliknya, NavigationService digunakan oleh navigator untuk mengaktifkan navigasi. Di WPF, ada dua navigator: NavigationWindow dan Frame.

Secara visual, XBAP menggunakan Internet Explorer sebagai navigator, untuk memberikan pengalaman pengguna terintegrasi. Namun, secara fisik, XBAP benar-benar digunakan NavigationWindow sebagai navigator; MainWindow properti XBAP yang berjalan di Internet Explorer akan mengembalikan referensi ke NavigationWindow, dan riwayat navigasi yang dikelola oleh NavigationWindow terintegrasi dengan riwayat navigasi yang dikelola oleh Internet Explorer dengan cara berikut:

  • Ketika konten dinavigasi dengan memanggil Navigate, , GoBackdan GoForward dari dalam XBAP entri riwayat navigasi yang relevan juga ditambahkan ke riwayat navigasi Internet Explorer.
  • Ketika entri di antarmuka pengguna navigasi Internet Explorer dipilih, Internet Explorer menyebabkan NavigationService menavigasi kembali atau meneruskan ke isi yang terkait dengan entri tersebut.

Catatan

dapat Frame menyediakan riwayat navigasinya sendiri, atau menggunakan riwayat navigasi navigator yang menghostingnya. Jika Frame menyediakan riwayat navigasinya sendiri, ia dapat menampilkan UI navigasinya sendiri untuk menavigasi melalui entri dalam riwayat navigasi; entri tersebut tidak ditambahkan ke riwayat navigasi navigator host (NavigationWindow, Frame, browser) dan, akibatnya, tidak dapat dinavigasi ke dari antarmuka pengguna navigasi masing-masing (lihat JournalOwnership).

Untuk informasi selengkapnya tentang dukungan XBAP, lihat Tanya jawab umum tentang aplikasi yang dihosting browser WPF (XBAP).

Properti

CanGoBack

Mendapatkan nilai yang menunjukkan apakah setidaknya ada satu entri dalam riwayat navigasi belakang.

CanGoForward

Mendapatkan nilai yang menunjukkan apakah setidaknya ada satu entri dalam riwayat navigasi maju.

Content

Mendapatkan atau mengatur referensi ke objek yang berisi isi saat ini.

CurrentSource

Mendapatkan URI konten yang terakhir dinavigasi.

Source

Mendapatkan atau mengatur URI konten saat ini, atau URI konten baru yang saat ini sedang dinavigasi.

Metode

AddBackEntry(CustomContentState)

Menambahkan entri ke riwayat navigasi belakang yang berisi CustomContentState objek.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetNavigationService(DependencyObject)

Mendapatkan referensi ke NavigationService untuk navigator yang kontennya berisi DependencyObject.

GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
GoBack()

Menavigasi ke entri terbaru dalam riwayat navigasi belakang, jika ada.

GoForward()

Navigasikan ke entri terbaru dalam riwayat navigasi maju, jika ada.

MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
Navigate(Object)

Navigasikan secara asinkron ke konten yang dimuat oleh objek.

Navigate(Object, Object)

Navigasikan secara asinkron ke konten yang dimuat oleh objek, dan teruskan objek yang berisi data yang akan digunakan untuk diproses selama navigasi.

Navigate(Uri)

Navigasikan secara asinkron ke konten yang ditentukan oleh URI.

Navigate(Uri, Object)

Navigasikan secara asinkron ke konten sumber yang terletak di URI, dan teruskan objek yang berisi data yang akan digunakan untuk diproses selama navigasi.

Navigate(Uri, Object, Boolean)

Navigasikan secara asinkron ke konten sumber yang terletak di URI, teruskan objek yang berisi status navigasi untuk diproses selama navigasi, dan kotak pasir konten.

Refresh()

Memuat ulang isi saat ini.

RemoveBackEntry()

Menghapus entri jurnal terbaru dari riwayat belakang.

StopLoading()

Menghentikan pengunduhan konten lebih lanjut untuk permintaan navigasi saat ini.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Acara

FragmentNavigation

Terjadi ketika navigasi ke fragmen konten dimulai, yang segera terjadi, jika fragmen yang diinginkan ada di konten saat ini, atau setelah konten XAML sumber dimuat, jika fragmen yang diinginkan berada dalam konten yang berbeda.

LoadCompleted

Terjadi ketika konten yang dinavigasi telah dimuat, diurai, dan telah mulai dirender.

Navigated

Terjadi ketika konten yang sedang dinavigasi telah ditemukan, dan tersedia dari Content properti , meskipun mungkin belum selesai dimuat.

Navigating

Terjadi ketika navigasi baru diminta.

NavigationFailed

Terjadi ketika terjadi kesalahan saat menavigasi ke konten yang diminta.

NavigationProgress

Terjadi secara berkala selama pengunduhan untuk memberikan informasi kemajuan navigasi.

NavigationStopped

Terjadi ketika StopLoading() metode dipanggil, atau ketika navigasi baru diminta saat navigasi saat ini sedang berlangsung.

Berlaku untuk