NavigationService Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 :
- NavigationService.Navigate(Uri)
- NavigationService.Navigate(Uri, Object)
- NavigationService.Navigate(Uri, Object, Boolean)
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 :
- Navigating
- Navigated
- NavigationProgress
- NavigationFailed
- NavigationStopped
- LoadCompleted
- FragmentNavigation
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 :
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. |