Partager via


NavigationService Classe

Définition

Contient des méthodes, des propriétés et des événements pour prendre en charge la navigation.

public ref class NavigationService sealed
public sealed class NavigationService
type NavigationService = class
Public NotInheritable Class NavigationService
Héritage
NavigationService

Remarques

NavigationService encapsule la possibilité de télécharger du contenu dans le contexte d’une navigation de type navigateur.

Le contenu peut être n’importe quel type d’objet .NET Framework et de fichiers HTML. En règle générale, toutefois, les pages sont recommandées comme moyen de empaqueter le contenu pour la navigation (voir Page).

Vous pouvez accéder au contenu en fournissant une instance d’un objet et en appelant une surcharge de la Navigate méthode qui accepte un objet :

Vous pouvez également accéder au contenu en passant un URI relatif ou absolu à l’une Navigate des surcharges de méthode qui accepte un URI :

Lorsque le contenu est parcouru par URI, NavigationService retourne un objet qui contient le contenu.

La durée de vie d’une navigation peut être suivie via les événements suivants :

Tous les événements ne sont pas déclenchés chaque fois qu’une navigation se produit ; l’ensemble d’événements déclenchés est déterminé par le type de navigation qui se produit (contenu ou fragment de contenu) et la façon dont la navigation se termine (annulé, arrêté ou ayant échoué).

La figure suivante illustre la séquence dans laquelle ces événements sont déclenchés :

Organigramme de navigation de page

Pendant ou après une navigation, NavigationService fournit des informations sur le contenu vers lequel la navigation est effectuée, notamment l’URI du contenu vers lequel la navigation est effectuée (Source), l’URI du contenu actuel (CurrentSource) et un objet qui contient le contenu vers lequel la navigation a été effectuée (Content).

Lorsque le contenu est parcouru, NavigationService enregistre la navigation en tant qu’entrée dans l’historique de navigation. Une entrée est ajoutée à l’historique de navigation arrière lorsqu’une nouvelle navigation se produit, en appelant la Navigate méthode ou en accédant à une entrée dans l’historique de navigation avant, en appelant GoForward. Une entrée est ajoutée pour transférer l’historique de navigation en accédant à une entrée dans l’historique de navigation arrière, en appelant GoBack. CanGoBack et CanGoForward indiquent s’il existe des entrées dans l’historique de navigation retour et avant, respectivement. En outre, l’entrée la plus récente dans l’historique de navigation arrière peut être supprimée en appelant RemoveBackEntry.

Par défaut, NavigationService ne stocke pas de instance d’un objet de contenu dans l’historique de navigation. Au lieu de cela, NavigationService crée une nouvelle instance de l’objet de contenu chaque fois qu’il est parcouru à l’aide de l’historique de navigation. Ce comportement est conçu pour éviter une consommation excessive de mémoire lorsque de grands nombres et de grands éléments de contenu sont parcourus. Par conséquent, l’état du contenu n’est pas mémorisé d’une navigation à l’autre. Toutefois, WPF fournit plusieurs techniques permettant de stocker un élément d’état d’un élément de contenu dans l’historique de navigation.

À l’aide de AddBackEntry, vous pouvez également mémoriser plusieurs jeux d’état pour une seule page instance.

NavigationService est une sealed classe et ne peut donc pas être instanciée ; au lieu de cela, NavigationService est utilisé par les navigateurs pour activer la navigation. Dans WPF, il existe deux navigateurs : NavigationWindow et Frame.

Visuellement, les XBAPs utilisent Internet Explorer comme navigateur, pour fournir une expérience utilisateur intégrée. Toutefois, physiquement, les XBAPs utilisent NavigationWindow en fait comme navigateur ; la MainWindow propriété d’un XBAP s’exécutant dans Internet Explorer retourne une référence à , NavigationWindowet l’historique de navigation géré par est NavigationWindow intégré à l’historique de navigation géré par Internet Explorer des manières suivantes :

  • Lorsque le contenu est parcouru en appelant Navigate, GoBacket GoForward à partir d’un XBAP, les entrées d’historique de navigation pertinentes sont également ajoutées à l’historique de navigation Internet Explorer.
  • Lorsque les entrées de l’interface utilisateur de navigation Internet Explorer sont sélectionnées, Internet Explorer permet NavigationService de naviguer en arrière ou de transférer vers le contenu associé à ces entrées.

Notes

Un Frame peut fournir son propre historique de navigation ou utiliser l’historique de navigation du navigateur qui l’héberge. Si Frame fournit son propre historique de navigation, il peut afficher sa propre interface utilisateur de navigation pour parcourir les entrées dans l’historique de navigation ; ces entrées ne sont pas ajoutées à l’historique de navigation du navigateur hôte (NavigationWindow, Frame, navigateur) et, par conséquent, ne peuvent pas être parcourues à partir de l’interface utilisateur de navigation de chacune d’elles (voir JournalOwnership).

Pour plus d’informations sur la prise en charge de XBAP, consultez forum aux questions sur les applications WPF hébergées par le navigateur (XBAP).

Propriétés

CanGoBack

Obtient une valeur qui indique s'il existe au moins une entrée dans l'historique de navigation arrière.

CanGoForward

Obtient une valeur qui indique s'il existe au moins une entrée dans l'historique de navigation avant.

Content

Obtient ou affecte une référence à l'objet qui contient le contenu actuel.

CurrentSource

Obtient l’URI du contenu cible de la dernière navigation.

Source

Obtient ou définit l’URI du contenu actuel ou l’URI du contenu cible de la nouvelle navigation en cours.

Méthodes

AddBackEntry(CustomContentState)

Ajoute une entrée à l'historique de navigation arrière qui contient un objet CustomContentState.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetNavigationService(DependencyObject)

Obtient une référence à NavigationService destinée au navigateur dont le contenu contient l'objet DependencyObject spécifié.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
GoBack()

Navigue jusqu'à l'entrée la plus récente dans l'historique de navigation arrière, s'il en existe une.

GoForward()

Navigue jusqu'à l'entrée la plus récente dans l'historique de navigation avant, s'il en existe une.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
Navigate(Object)

Navigue de façon asynchrone jusqu'au contenu inclus dans un objet.

Navigate(Object, Object)

Navigue de façon asynchrone jusqu'au contenu dans un objet et passe un objet contenant des données à utiliser pour le traitement lors de la navigation.

Navigate(Uri)

Navigue de façon asynchrone jusqu’au contenu spécifié par un URI.

Navigate(Uri, Object)

Navigue de façon asynchrone jusqu’au contenu source situé à un URI et passe un objet qui contient des données à utiliser pour le traitement lors de la navigation.

Navigate(Uri, Object, Boolean)

Navigue de façon asynchrone jusqu’au contenu source situé à un URI, passe un objet contenant l’état de navigation pour le traitement lors de la navigation, puis applique le traitement du bac à sable (sandbox) au contenu.

Refresh()

Recharge le contenu actuel.

RemoveBackEntry()

Supprime l'entrée de journal la plus récente de l'historique arrière.

StopLoading()

Met fin au téléchargement de contenu pour la requête de navigation en cours.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Événements

FragmentNavigation

Se produit lorsque la navigation vers un fragment de contenu commence, ce qui se produit immédiatement, si le fragment souhaité se trouve dans le contenu actuel ou après le chargement du contenu XAML source, si le fragment souhaité se trouve dans un contenu différent.

LoadCompleted

Se produit lorsque le contenu cible de la navigation a été chargé, analysé et que son rendu a commencé.

Navigated

Se produit lorsque le contenu cible de la navigation a été trouvé et est disponible à partir de la propriété Content, même s'il n'a peut-être pas pu être complètement chargé.

Navigating

Se produit quand une nouvelle navigation est demandée.

NavigationFailed

Se produit lorsqu'une erreur est levée en naviguant jusqu'au contenu demandé.

NavigationProgress

Se produit périodiquement au cours d'un téléchargement, pour donner des informations sur la progression de la navigation.

NavigationStopped

Se produit lorsque la méthode StopLoading() est appelée ou lorsqu'une nouvelle navigation est demandée pendant qu'une navigation est déjà en cours.

S’applique à