Udostępnij za pośrednictwem


NavigationService.Navigate Metoda

Definicja

Przejdź asynchronicznie do określonej zawartości źródłowej.

Przeciążenia

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.

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)

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

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, 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.

public:
 bool Navigate(Uri ^ source, System::Object ^ navigationState, bool sandboxExternalContent);
public bool Navigate (Uri source, object navigationState, bool sandboxExternalContent);
member this.Navigate : Uri * obj * bool -> bool
Public Function Navigate (source As Uri, navigationState As Object, sandboxExternalContent As Boolean) As Boolean

Parametry

source
Uri

Uri Obiekt zainicjowany przy użyciu identyfikatora URI żądanej zawartości.

navigationState
Object

Obiekt zawierający dane, które mają być używane do przetwarzania podczas nawigacji.

sandboxExternalContent
Boolean

Pobierz zawartość do piaskownicy zabezpieczeń częściowego zaufania (z domyślnym zestawem uprawnień w strefie internetowej, jeśli true. Wartość domyślna to false.

Zwraca

true jeśli nawigacja nie zostanie anulowana; w przeciwnym razie , false.

Uwagi

Ta metoda jest przeznaczona tylko dla aplikacji autonomicznych i zawartości języka XAML (Extensible Application Markup Language).

Ta metoda wykazuje takie samo zachowanie jak NavigationService.Navigate, i rozszerza ją, upewniając się, że pobierana zawartość jest umieszczana w piaskownicy zabezpieczeń częściowego zaufania (z domyślnym zestawem uprawnień strefy internetowej — zobacz WPF Partial Trust Security).

Zobacz też

Dotyczy

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.

public:
 bool Navigate(Uri ^ source, System::Object ^ navigationState);
public bool Navigate (Uri source, object navigationState);
member this.Navigate : Uri * obj -> bool
Public Function Navigate (source As Uri, navigationState As Object) As Boolean

Parametry

source
Uri

Uri Obiekt zainicjowany przy użyciu identyfikatora URI żądanej zawartości.

navigationState
Object

Obiekt zawierający dane, które mają być używane do przetwarzania podczas nawigacji.

Zwraca

true jeśli nawigacja nie zostanie anulowana; w przeciwnym razie , false.

Przykłady

W poniższym przykładzie pokazano przejście do identyfikatora URI i przekazanie stanu nawigacji.

void goButton_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new Uri(this.addressTextBox.Text), DateTime.Now);
}
void NavigationService_LoadCompleted(object sender, NavigationEventArgs e)
{
    DateTime requestDateTime = (DateTime)e.ExtraData;
    string msg = string.Format("Request started {0}\nRequest completed {1}", requestDateTime, DateTime.Now);
    MessageBox.Show(msg);
}
Private Sub goButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Me.NavigationService.Navigate(New Uri(Me.addressTextBox.Text), Date.Now)
End Sub
Private Sub NavigationService_LoadCompleted(ByVal sender As Object, ByVal e As NavigationEventArgs)
    Dim requestDateTime As Date = CDate(e.ExtraData)
    Dim msg As String = String.Format("Request started {0}" & vbLf & "Request completed {1}", requestDateTime, Date.Now)
    MessageBox.Show(msg)
End Sub

Uwagi

Ponieważ nawigacje są asynchroniczne, istnieje możliwość, że wiele nawigacji będzie w toku w tym samym czasie. Jeśli na przykład na jednej stronie znajdują się dwie ramki podrzędne, obie ramki mogą być nawigowane. W takim przypadku różne zdarzenia nawigacji, które są wywoływane NavigationService przez program, mogą być wywoływane wiele razy, jeden dla każdego elementu zawartości, do której przechodzi się, i niekoniecznie w celu żądania nawigacji. W związku z tym, jeśli określone żądanie nawigacji musi przetwarzać dane specyficzne dla pojedynczego żądania, nie może używać danych dostępnych dla wszystkich żądań nawigacji. Zamiast tego można przekazać navigationState dane do przetwarzania nawigacji specyficznego dla jednego żądania nawigacji.

Następujące argumenty zdarzeń zapewniają dostęp do stanu nawigacji:

Zobacz też

Dotyczy

Navigate(Uri)

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

public:
 bool Navigate(Uri ^ source);
public bool Navigate (Uri source);
member this.Navigate : Uri -> bool
Public Function Navigate (source As Uri) As Boolean

Parametry

source
Uri

Uri Obiekt zainicjowany przy użyciu identyfikatora URI żądanej zawartości.

Zwraca

true jeśli nawigacja nie zostanie anulowana; w przeciwnym razie , false.

Przykłady

W poniższym przykładzie pokazano, jak przejść do identyfikatora URI.

void goButton_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new Uri(this.addressTextBox.Text));
}
Private Sub goButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Me.NavigationService.Navigate(New Uri(Me.addressTextBox.Text))
End Sub

Uwagi

Wartość source może być adresem URL sieci Web lub prawidłowym identyfikatorem URI pakietu (zobacz Identyfikatory URI pakietów w WPF).

Navigate przejdzie do identyfikatora URI określonego przez source , jeśli spełnione są następujące warunki:

  • Zdarzenie Navigating nie zostało anulowane.

  • Można utworzyć żądanie internetowe (zobacz Navigating).

Jeśli source jest to null, istniejąca zawartość (Content) jest wyczyszczone.

Uwaga

Podczas pobierania zawartości sieci Web może zostać wyświetlony wyjątek sieci Web (na przykład 404: Nie znaleziono pliku). Takie wyjątki można obsługiwać z NavigationFailedprogramu .

Możesz użyć Navigate polecenia , aby przejść do fragmentu zawartości. Jeśli zawartość zidentyfikowana przez identyfikator URI jest bieżącą zawartością, nie zostanie pobrana ponownie.

Zobacz też

Dotyczy

Navigate(Object)

Przejdź asynchronicznie do zawartości zawartej przez obiekt.

public:
 bool Navigate(System::Object ^ root);
public bool Navigate (object root);
member this.Navigate : obj -> bool
Public Function Navigate (root As Object) As Boolean

Parametry

root
Object

Obiekt zawierający zawartość do przejścia.

Zwraca

true jeśli nawigacja nie zostanie anulowana; w przeciwnym razie , false.

Przykłady

W poniższym przykładzie pokazano, jak przejść do Page obiektu zawierającego drzewo zawartości źródłowej.

void goObjectButton_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new ContentPage());
}
Private Sub goObjectButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Me.NavigationService.Navigate(New ContentPage())
End Sub

Uwagi

Navigateprzejdzie do określonego przezroot, Object jeśli spełnione są następujące warunki:

  • Zdarzenie Navigating nie zostało anulowane.

  • Można utworzyć żądanie internetowe (zobacz Navigating).

Jeśli root jest to null, istniejąca zawartość (Content) jest wyczyszczone.

Uwaga

Podczas pobierania zawartości sieci Web może zostać wyświetlony wyjątek sieci Web (na przykład 404: Nie znaleziono pliku). Takie wyjątki można obsługiwać z NavigationFailedprogramu .

Zobacz też

Dotyczy

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.

public:
 bool Navigate(System::Object ^ root, System::Object ^ navigationState);
public bool Navigate (object root, object navigationState);
member this.Navigate : obj * obj -> bool
Public Function Navigate (root As Object, navigationState As Object) As Boolean

Parametry

root
Object

Obiekt zawierający zawartość do przejścia.

navigationState
Object

Obiekt zawierający dane, które mają być używane do przetwarzania podczas nawigacji.

Zwraca

true jeśli nawigacja nie zostanie anulowana; w przeciwnym razie , false.

Przykłady

W poniższym przykładzie pokazano, jak przejść do obiektu zawierającego zawartość źródłową Page i przekazać stan nawigacji.

void goButton_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new ContentPage(), DateTime.Now);
}
void NavigationService_LoadCompleted(object sender, NavigationEventArgs e)
{
    DateTime requestDateTime = (DateTime)e.ExtraData;
    string msg = string.Format("Request started {0}\nRequest completed {1}", requestDateTime, DateTime.Now);
    MessageBox.Show(msg);
}
Private Sub goButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Me.NavigationService.Navigate(New ContentPage(), Date.Now)
End Sub
Private Sub NavigationService_LoadCompleted(ByVal sender As Object, ByVal e As NavigationEventArgs)
    Dim requestDateTime As Date = CDate(e.ExtraData)
    Dim msg As String = String.Format("Request started {0}" & vbLf & "Request completed {1}", requestDateTime, Date.Now)
    MessageBox.Show(msg)
End Sub

Uwagi

Ta metoda ma takie samo zachowanie jak NavigationService.Navigate, chociaż obiekt jest przekazywany zamiast identyfikatora URI.

Zobacz też

Dotyczy