Condividi tramite


NavigationService.Navigate Metodo

Definizione

Si sposta in modo asincrono sul contenuto di origine specificato.

Overload

Navigate(Uri, Object, Boolean)

Si naviga in modo asincrono sul contenuto di origine disponibile a un URI, passa un oggetto contenente lo stato di navigazione per l'elaborazione durante la navigazione e inserisce il contenuto in un sandbox.

Navigate(Uri, Object)

Naviga in modo asincrono sul contenuto di origine disponibile a un URI e passa un oggetto che contiene dati da utilizzare per l'elaborazione durante la navigazione.

Navigate(Uri)

Si sposta in modo asincrono sul contenuto specificato da un URI.

Navigate(Object)

Si sposta in modo asincrono sul contenuto incluso in un oggetto.

Navigate(Object, Object)

Si naviga in modo asincrono sul contenuto incluso in un oggetto e passa un oggetto che contiene dati da utilizzare per l'elaborazione durante la navigazione.

Navigate(Uri, Object, Boolean)

Si naviga in modo asincrono sul contenuto di origine disponibile a un URI, passa un oggetto contenente lo stato di navigazione per l'elaborazione durante la navigazione e inserisce il contenuto in un sandbox.

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

Parametri

source
Uri

Oggetto Uri inizializzato con l'URI del contenuto desiderato.

navigationState
Object

Oggetto contenente dati da utilizzare per l'elaborazione durante la navigazione.

sandboxExternalContent
Boolean

Scarica il contenuto in un sandbox di sicurezza parzialmente attendibile (con l'insieme predefinito di autorizzazioni dell'area Internet , se true. Il valore predefinito è false.

Restituisce

true se la navigazione non viene annullata, altrimenti false.

Commenti

Questo metodo è destinato solo alle applicazioni autonome e al contenuto XAML (Extensible Application Markup Language).

Questo metodo presenta lo stesso comportamento di NavigationService.Navigatee lo estende assicurandosi che il contenuto scaricato venga inserito in una sandbox di sicurezza parzialmente attendibile (con il set di autorizzazioni predefinito dell'area Internet. Vedere Sicurezza attendibilità parziale WPF).

Vedi anche

Si applica a

Navigate(Uri, Object)

Naviga in modo asincrono sul contenuto di origine disponibile a un URI e passa un oggetto che contiene dati da utilizzare per l'elaborazione durante la navigazione.

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

Parametri

source
Uri

Oggetto Uri inizializzato con l'URI del contenuto desiderato.

navigationState
Object

Oggetto contenente dati da utilizzare per l'elaborazione durante la navigazione.

Restituisce

true se la navigazione non viene annullata, altrimenti false.

Esempio

Nell'esempio seguente viene illustrato come passare a un URI e passare lo stato di spostamento.

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

Commenti

Poiché gli spostamenti sono asincroni, è possibile che più spostamenti siano in corso contemporaneamente. Ad esempio, se sono presenti due frame figlio in una singola pagina, entrambi i fotogrammi potrebbero spostarsi. In questo caso, i vari eventi di navigazione generati da NavigationService possono essere generati più volte, uno per ogni parte di contenuto a cui viene eseguito lo spostamento e non necessariamente nell'ordine in cui sono stati richiesti gli spostamenti. Di conseguenza, se una determinata richiesta di navigazione deve elaborare i dati specifici della singola richiesta, non può usare i dati disponibili per tutte le richieste di spostamento. È invece possibile usare navigationState per passare i dati per l'elaborazione della navigazione specifica di una richiesta di navigazione.

Gli argomenti dell'evento seguenti forniscono l'accesso allo stato di navigazione:

Vedi anche

Si applica a

Navigate(Uri)

Si sposta in modo asincrono sul contenuto specificato da un URI.

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

Parametri

source
Uri

Oggetto Uri inizializzato con l'URI del contenuto desiderato.

Restituisce

true se la navigazione non viene annullata, altrimenti false.

Esempio

Nell'esempio seguente viene illustrato come passare a un 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

Commenti

Il valore di può essere un URL Web o un URI di pacchetto valido (vedere URI pack sourcein WPF).

Navigate passerà all'URI specificato da source se le condizioni seguenti sono vere:

  • L'evento Navigating non viene annullato.

  • È possibile creare una richiesta Web (vedere Navigating).

Se source è null, il contenuto esistente (Content) viene cancellato.

Nota

Quando si scarica il contenuto Web, è possibile che venga visualizzata un'eccezione Web, ad esempio 404: File non trovato. È possibile gestire tali eccezioni da NavigationFailed.

È possibile usare Navigate per passare a un frammento di contenuto. Se il contenuto identificato dall'URI è il contenuto corrente, non viene scaricato di nuovo.

Vedi anche

Si applica a

Navigate(Object)

Si sposta in modo asincrono sul contenuto incluso in un oggetto.

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

Parametri

root
Object

Oggetto che include il contenuto su cui spostarsi.

Restituisce

true se la navigazione non viene annullata, altrimenti false.

Esempio

Nell'esempio seguente viene illustrato come passare a un Page oggetto contenente l'albero del contenuto di origine.

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

Commenti

Navigate passerà all'oggetto Object specificato da root se le condizioni seguenti sono vere:

  • L'evento Navigating non viene annullato.

  • È possibile creare una richiesta Web (vedere Navigating).

Se root è null, il contenuto esistente (Content) viene cancellato.

Nota

Quando si scarica il contenuto Web, è possibile che venga visualizzata un'eccezione Web, ad esempio 404: File non trovato. È possibile gestire tali eccezioni da NavigationFailed.

Vedi anche

Si applica a

Navigate(Object, Object)

Si naviga in modo asincrono sul contenuto incluso in un oggetto e passa un oggetto che contiene dati da utilizzare per l'elaborazione durante la navigazione.

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

Parametri

root
Object

Oggetto che include il contenuto su cui spostarsi.

navigationState
Object

Oggetto contenente dati da utilizzare per l'elaborazione durante la navigazione.

Restituisce

true se la navigazione non viene annullata, altrimenti false.

Esempio

Nell'esempio seguente viene illustrato come passare a un Page oggetto contenente il contenuto di origine e come passare lo stato di spostamento.

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

Commenti

Questo metodo ha lo stesso comportamento di NavigationService.Navigate, anche se viene passato un oggetto anziché un URI.

Vedi anche

Si applica a