Udostępnij za pośrednictwem


NavigationService Klasa

Definicja

Zawiera metody, właściwości i zdarzenia do obsługi nawigacji.

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

Uwagi

NavigationService hermetyzuje możliwość pobierania zawartości w kontekście nawigacji w stylu przeglądarki.

Zawartość może być dowolnym typem .NET Framework obiektów i plików HTML. Ogólnie jednak strony są preferowane jako sposób spakowania zawartości na potrzeby nawigacji (zobacz Page).

Zawartość można przejść do obiektu, podając wystąpienie obiektu i wywołując przeciążenie Navigate metody, która akceptuje obiekt:

Możesz też przejść do zawartości, przekazując względny lub bezwzględny identyfikator URI do jednego z Navigate przeciążeń metody, które akceptują identyfikator URI:

Po przejściu do zawartości według identyfikatora URI NavigationService zostanie zwrócony obiekt zawierający zawartość.

Okres istnienia nawigacji można śledzić za pomocą następujących zdarzeń:

Nie wszystkie zdarzenia są wywoływane za każdym razem, gdy nastąpi nawigacja; zestaw zgłoszonych zdarzeń jest określany przez typ nawigacji (zawartość lub fragment zawartości) oraz sposób ukończenia nawigacji (anulowane, zatrzymane lub zakończone niepowodzeniem).

Na poniższej ilustracji przedstawiono sekwencję, w której są zgłaszane następujące zdarzenia:

Wykres przepływu nawigacji strony Wykres nawigacyjny strony

Podczas nawigacji lub po niej NavigationService zawiera informacje o zawartości, do których przechodzi, w tym identyfikator URI zawartości, do którego przechodzi (), identyfikator URI bieżącej zawartości (SourceCurrentSource) oraz obiekt zawierający zawartość, do którego została nawigowana (Content).

Po przejściu do NavigationService zawartości rejestruje nawigację jako wpis w historii nawigacji. Wpis jest dodawany do historii nawigacji po wystąpieniu Navigate nowej nawigacji przez wywołanie metody lub przejście do wpisu w historii nawigacji do przodu przez wywołanie metody GoForward. Wpis jest dodawany do historii nawigacji do przodu, przechodząc do wpisu w historii nawigacji wstecznej, wywołując metodę GoBack. CanGoBack i CanGoForward zgłoś, czy istnieją wpisy w historii nawigacji wstecz i do przodu, odpowiednio. Ponadto najnowszy wpis w historii nawigacji wstecznej można usunąć, wywołując metodę RemoveBackEntry.

Domyślnie NavigationService nie przechowuje wystąpienia obiektu zawartości w historii nawigacji. NavigationService Zamiast tego tworzy nowe wystąpienie obiektu zawartości przy każdym przejściu do niego przy użyciu historii nawigacji. To zachowanie zostało zaprojektowane tak, aby uniknąć nadmiernego użycia pamięci, gdy są nawigowane duże liczby i duże fragmenty zawartości. W związku z tym stan zawartości nie jest zapamiętany z jednej nawigacji do następnego. Jednak WPF udostępnia kilka technik, za pomocą których można przechowywać kawałek stanu dla elementu zawartości w historii nawigacji.

Za pomocą programu AddBackEntrymożna również pamiętać wiele zestawów stanu dla pojedynczego wystąpienia strony.

NavigationService jest klasą sealed i dlatego nie można utworzyć wystąpienia. Zamiast tego NavigationService jest używana przez nawigatorów do włączania nawigacji. W WPF istnieją dwa nawigatory: NavigationWindow i Frame.

Wizualnie XBAPs używa programu Internet Explorer jako nawigatora, aby zapewnić zintegrowane środowisko użytkownika. Jednak fizycznie XBAPs faktycznie używają NavigationWindow jako nawigatora; MainWindow właściwość XBAP uruchomiona w programie Internet Explorer zwróci odwołanie do NavigationWindowelementu , a historia nawigacji zarządzana przez NavigationWindow program jest zintegrowana z historią nawigacji zarządzaną przez program Internet Explorer w następujący sposób:

  • Po przejściu do zawartości przez wywołanie Navigatemetody , GoBacki GoForward z poziomu programu XBAP odpowiednie wpisy historii nawigacji są również dodawane do historii nawigacji programu Internet Explorer.
  • Po wybraniu pozycji w interfejsie użytkownika nawigacji programu Internet Explorer program Internet Explorer powoduje NavigationService powrót lub przekazywanie do zawartości skojarzonej z tymi wpisami.

Uwaga

Element Frame może udostępnić własną historię nawigacji lub użyć historii nawigacji nawigatora, który go hostuje. Jeśli Frame udostępnia własną historię nawigacji, może wyświetlić własny interfejs użytkownika nawigacji, aby przejść przez wpisy w historii nawigacji. Te wpisy nie są dodawane do historii nawigacji nawigatora hosta (, Frame, przeglądarka) i w związku z tym nie można przejść do z poziomu interfejsu użytkownika nawigacji każdego z nich (NavigationWindowzobacz JournalOwnership).

Aby uzyskać więcej informacji na temat obsługi XBAP, zobacz Często zadawane pytania dotyczące aplikacji hostowanych w przeglądarce WPF (XBAP).

Właściwości

CanGoBack

Pobiera wartość wskazującą, czy istnieje co najmniej jeden wpis w historii nawigacji wstecznej.

CanGoForward

Pobiera wartość wskazującą, czy istnieje co najmniej jeden wpis w historii nawigacji do przodu.

Content

Pobiera lub ustawia odwołanie do obiektu zawierającego bieżącą zawartość.

CurrentSource

Pobiera identyfikator URI zawartości, do którego ostatnio przechodzino.

Source

Pobiera lub ustawia identyfikator URI bieżącej zawartości lub identyfikator URI nowej zawartości, do którego jest obecnie nawigowana.

Metody

AddBackEntry(CustomContentState)

Dodaje wpis do historii nawigacji wstecz, który zawiera CustomContentState obiekt.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetNavigationService(DependencyObject)

Pobiera odwołanie do NavigationService nawigatora, którego zawartość zawiera określony DependencyObjectelement .

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GoBack()

Przechodzi do najnowszego wpisu w historii nawigacji wstecznej, jeśli istnieje.

GoForward()

Przejdź do najnowszego wpisu w historii nawigacji do przodu, jeśli istnieje.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Navigate(Object)

Przejdź asynchronicznie do zawartości zawartej przez obiekt.

Navigate(Object, Object)

Przejdź asynchronicznie do zawartości zawartej przez obiekt i przekaż obiekt zawierający dane, które mają być używane do przetwarzania podczas nawigacji.

Navigate(Uri)

Przejdź asynchronicznie do zawartości określonej przez identyfikator URI.

Navigate(Uri, Object)

Przejdź asynchronicznie do zawartości źródłowej znajdującej się w identyfikatorze URI i przekaż obiekt zawierający dane, które mają być używane do przetwarzania podczas nawigacji.

Navigate(Uri, Object, Boolean)

Przejdź asynchronicznie do zawartości źródłowej znajdującej się w identyfikatorze URI, przekaż obiekt zawierający stan nawigacji do przetwarzania podczas nawigacji i piaskownicę zawartości.

Refresh()

Ponownie ładuje bieżącą zawartość.

RemoveBackEntry()

Usuwa najnowszy wpis dziennika z historii wstecz.

StopLoading()

Zatrzymuje dalsze pobieranie zawartości dla bieżącego żądania nawigacji.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

FragmentNavigation

Występuje po rozpoczęciu nawigacji do fragmentu zawartości, który występuje natychmiast, jeśli żądany fragment znajduje się w bieżącej zawartości lub po załadowaniu źródłowej zawartości XAML, jeśli żądany fragment znajduje się w innej zawartości.

LoadCompleted

Występuje, gdy zawartość, do którą przechodzino, została załadowana, przeanalizowana i rozpoczęła renderowanie.

Navigated

Występuje, gdy zawartość, do której przechodzisz, została znaleziona i jest dostępna z Content właściwości, chociaż mogła nie zostać zakończona ładowanie.

Navigating

Występuje, gdy zostanie wyświetlony nowy monit o nawigację.

NavigationFailed

Występuje, gdy wystąpi błąd podczas przechodzenia do żądanej zawartości.

NavigationProgress

Występuje okresowo podczas pobierania w celu udostępnienia informacji o postępie nawigacji.

NavigationStopped

Występuje, gdy StopLoading() metoda jest wywoływana lub gdy jest żądana nowa nawigacja, gdy bieżąca nawigacja jest w toku.

Dotyczy