NavigationService Sınıf

Tanım

Gezintiyi destekleyen yöntemler, özellikler 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 Navigate aşırı yüklenmesi çağrılarak içeriğe 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; oluşturulan olaylar 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 ( konumuna gidilenContent içeriği içeren bir nesne dahil olmak üzere, gidilen içerik hakkında bilgi sağlar.

İçerik konumuna gidildiğinde, NavigationService gezintiyi gezinti geçmişinde girdi olarak kaydeder. Yeni bir gezinti gerçekleştiğinde, yöntemini çağırarak Navigate veya ileriye doğru gezinti geçmişindeki bir girdiye gidip çağrısı GoForwardyaparak arka gezinti geçmişine bir giriş eklenir. Geri gezinti geçmişindeki bir girişe gidip öğesini çağırarak GoBackgezinti geçmişini iletmeye bir giriş eklenir. CanGoBack ve CanGoForward sırasıyla geri ve ileri gezinti geçmişinde girdi olup olmadığını rapor edin. Ayrıca, arka gezinti geçmişindeki en son girdi ç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şini kullanarak içerik nesnesinin her gidildiğinde 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 bir durum parçası depolayabileceğiniz çeşitli teknikler sağlar.

kullanarak AddBackEntry, tek bir sayfa örneği için birden çok durum kümesi 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 7'yi kullanır. Ancak fiziksel olarak, XBAP'ler aslında gezgin olarak kullanır NavigationWindow ; MainWindow Internet Explorer 7'de ç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 7 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 7 gezinti geçmişine eklenir.

  • Internet Explorer 7 gezinti kullanıcı arabirimindeki girdiler seçildiğinde, Internet Explorer 7 bu girişlerle ilişkili içeriğe geri veya iletimlere 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, Internet Explorer) eklenmez ve sonuç olarak, her birinin gezinti kullanıcı arabiriminden gidilemez (bkz JournalOwnership. ).

Özellikler

CanGoBack

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

CanGoForward

İleriye doğru 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 öğesine 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 nesne 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 durumu içeren bir nesne geçirin ve içeriği korumalı alana alın.

Refresh()

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

RemoveBackEntry()

Geçmiş geçmişinden en son günlük girdisini 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

İstenen parça geçerli içerikteyse veya istenen parça farklı içerikteyse kaynak XAML içeriği yüklendikten sonra bir içerik parçasına gezinti başladığında 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 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