NavigationService Sınıf

Tanım

Gezintiyi destekleyecek yöntemleri, özellikleri ve olayları içerir.

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

Açıklamalar

NavigationService tarayıcı stilinde bir gezinti bağlamında içerik indirme özelliğini kapsüller.

İçerik her tür .NET Framework nesnesi ve HTML dosyası olabilir. Ancak genel olarak, gezinti için içerik paketleme yöntemi olarak sayfalar tercih edilir (bkz Page. ).

bir nesnenin örneği sağlanarak ve bir nesneyi kabul eden yöntemin aşırı yüklenmesi çağrılarak içeriğe Navigate gidilebilir:

Alternatif olarak, bir URI kabul eden yöntem aşırı yüklemelerinden birine Navigate göreli veya mutlak bir URI geçirilerek içeriğe gidilebilir:

İçerik URI tarafından adresine gidildiğinde, NavigationService içeriği içeren bir nesne döndürür.

Gezintinin ömrü aşağıdaki olaylar aracılığıyla izlenebilir:

Her gezinti gerçekleştiğinde tüm olaylar tetiklenmez; tetiklenen olay kümesi, gerçekleşen gezinti türüne (içerik veya içerik parçası) ve gezintinin nasıl tamamlandığına (iptal edildi, durduruldu veya başarısız) göre belirlenir.

Aşağıdaki şekilde, bu olayların tetiklendiği sıra gösterilmektedir:

Sayfa gezintisi akış grafiği

Gezinti sırasında veya sonrasında, NavigationService gidilen içeriğin URI'si (Source ), geçerli içeriğin URI'si (CurrentSource ve gidilen içeriği içeren bir nesne dahil) gidilen içerikContent hakkında bilgi sağlar.

İçerik adresine gidildiğinde, NavigationService gezintiyi gezinti geçmişinde bir giriş olarak kaydeder. Yeni bir gezinti gerçekleştiğinde, yöntemini çağırarak Navigate veya ileriye doğru gezinti geçmişindeki bir girişe gidip çağrısı GoForwardyaparak arka gezinti geçmişine bir giriş eklenir. Geri gezinti geçmişindeki bir girişe giderek, çağrılarak GoBackgezinti geçmişini iletmeye bir giriş eklenir. CanGoBack ve CanGoForward sırasıyla geri ve ileri gezinti geçmişinde giriş olup olmadığını rapor edin. Ayrıca, arka gezinti geçmişindeki en son giriş çağrılarak RemoveBackEntrykaldırılabilir.

Varsayılan olarak, NavigationService içerik nesnesinin bir örneğini gezinti geçmişinde depolamaz. Bunun yerine, NavigationService gezinti geçmişi kullanılarak her gidildiğinde içerik nesnesinin yeni bir örneğini oluşturur. Bu davranış, çok sayıda ve büyük içerik parçalarına gidilirken aşırı bellek tüketiminden kaçınmak için tasarlanmıştır. Sonuç olarak, içeriğin durumu bir gezintiden diğerine anımsanmıyor. Ancak WPF, gezinti geçmişinde bir içerik parçası için durum parçası depolayabileceğiniz çeşitli teknikler sağlar.

kullanarak AddBackEntry, tek bir sayfa örneği için birden çok durum kümesini de anımsayabilirsiniz.

NavigationService bir sealed sınıf olduğundan örneği oluşturulamaz; bunun yerine NavigationService gezintiyi etkinleştirmek için gezgin tarafından kullanılır. WPF'de iki gezgin vardır: NavigationWindow ve Frame.

Görsel olarak, XBAP'ler tümleşik bir kullanıcı deneyimi sağlamak için gezgin olarak Internet Explorer'ı kullanır. Ancak fiziksel olarak, XBAP'ler aslında gezgin olarak kullanır NavigationWindow ; MainWindow Internet Explorer'da çalışan bir XBAP'nin özelliği öğesine bir başvuru NavigationWindowdöndürür ve tarafından NavigationWindow yönetilen gezinti geçmişi, Internet Explorer tarafından yönetilen gezinti geçmişiyle aşağıdaki yollarla tümleştirilir:

  • bir XBAP içinden , GoBackve GoForward çağrılarak Navigateiçeriğe gidildiğinde, ilgili gezinti geçmişi girdileri de Internet Explorer gezinti geçmişine eklenir.
  • Internet Explorer gezinti kullanıcı arabirimindeki girdiler seçildiğinde, Internet Explorer bu girişlerle ilişkili içeriğe geri veya iletilmeye neden olur NavigationService .

Not

, Frame kendi gezinti geçmişini sağlayabilir veya onu barındıran gezginin gezinti geçmişini kullanabilir. Kendi gezinti geçmişini sağlarsa Frame , gezinti geçmişindeki girdilerde gezinmek için kendi gezinti kullanıcı arabirimini görüntüleyebilir; bu girdiler ana bilgisayar gezgininin gezinti geçmişine (NavigationWindow, Frame, tarayıcı) eklenmez ve sonuç olarak, her birinin gezinti kullanıcı arabiriminden gidilemez (bkz JournalOwnership. ).

XBAP desteği hakkında daha fazla bilgi için bkz. WPF tarayıcı tarafından barındırılan uygulamalar (XBAP) hakkında sık sorulan sorular.

Özellikler

CanGoBack

Arka gezinti geçmişinde en az bir giriş olup olmadığını gösteren bir değer alır.

CanGoForward

İleri gezinti geçmişinde en az bir giriş olup olmadığını gösteren bir değer alır.

Content

Geçerli içeriği içeren nesneye başvuru alır veya ayarlar.

CurrentSource

En son gidilen içeriğin URI'sini alır.

Source

Geçerli içeriğin URI'sini veya şu anda gidilmekte olan yeni içeriğin URI'sini alır veya ayarlar.

Yöntemler

AddBackEntry(CustomContentState)

Nesne içeren arka gezinti geçmişine bir CustomContentState giriş ekler.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetNavigationService(DependencyObject)

İçeriği belirtilen DependencyObjectöğesini içeren gezgin için bir başvuru NavigationService alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
GoBack()

Varsa, arka gezinti geçmişindeki en son girişe gider.

GoForward()

Varsa, ileriye doğru gezinti geçmişinde en son girişe gidin.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Navigate(Object)

Bir nesnenin içerdiği içeriğe zaman uyumsuz olarak gidin.

Navigate(Object, Object)

Bir nesnenin içerdiği içeriğe zaman uyumsuz olarak gidin ve gezinti sırasında işlenmek üzere kullanılacak verileri içeren bir nesneyi geçirin.

Navigate(Uri)

URI tarafından belirtilen içeriğe zaman uyumsuz olarak gidin.

Navigate(Uri, Object)

Bir URI'de bulunan kaynak içeriğe zaman uyumsuz olarak gidin ve gezinti sırasında işlenmek üzere kullanılacak verileri içeren bir nesne geçirin.

Navigate(Uri, Object, Boolean)

Bir URI'de bulunan kaynak içeriğe zaman uyumsuz olarak gidin, gezinti sırasında işlenmek üzere gezinti durumunu içeren bir nesne geçirin ve içeriği korumalı alana alın.

Refresh()

Geçerli içeriği yeniden yükler.

RemoveBackEntry()

En son günlük girdisini geri geçmişinden kaldırır.

StopLoading()

Geçerli gezinti isteği için içeriğin daha fazla indirilmesini durdurur.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Ekinlikler

FragmentNavigation

bir içerik parçasına gezinti başladığında gerçekleşir; bu, istenen parça geçerli içerikteyse hemen gerçekleşir veya istenen parça farklı içerikteyse kaynak XAML içeriği yüklendikten sonra gerçekleşir.

LoadCompleted

Gidilen içerik yüklendiğinde, ayrıştırıldığında ve işlemeye başladığında gerçekleşir.

Navigated

Gidilmekte olan içerik bulunduğunda ve özelliğinden Content kullanılabilir olduğunda gerçekleşir, ancak yükleme tamamlanmamış olabilir.

Navigating

Yeni bir gezinti istendiğinde gerçekleşir.

NavigationFailed

İstenen içeriğe giderken bir hata oluştuğunda oluşur.

NavigationProgress

Gezinti ilerleme durumu bilgilerini sağlamak için bir indirme sırasında düzenli aralıklarla gerçekleşir.

NavigationStopped

Yöntem çağrıldığında StopLoading() veya geçerli gezinti devam ederken yeni bir gezinti istendiğinde gerçekleşir.

Şunlara uygulanır