NavigationService Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Contiene métodos, propiedades y eventos compatibles con la navegación.
public ref class NavigationService sealed
public sealed class NavigationService
type NavigationService = class
Public NotInheritable Class NavigationService
- Herencia
-
NavigationService
Comentarios
NavigationService encapsula la capacidad de descargar contenido en el contexto de una navegación de estilo explorador.
El contenido puede ser cualquier tipo de objeto de .NET Framework y archivos HTML. Sin embargo, en general, las páginas son las preferidas como la manera de empaquetar el contenido para la navegación (consulte Page).
El contenido se puede navegar a proporcionando una instancia de un objeto y llamando a una sobrecarga del Navigate método que acepta un objeto :
Como alternativa, el contenido se puede navegar a pasando un URI relativo o absoluto a una de las sobrecargas del Navigate método que acepta un URI:
- NavigationService.Navigate(Uri)
- NavigationService.Navigate(Uri, Object)
- NavigationService.Navigate(Uri, Object, Boolean)
Cuando el contenido se desplaza por el URI, NavigationService devolverá un objeto que contiene el contenido.
Se puede realizar un seguimiento de la duración de una navegación a través de los siguientes eventos:
- Navigating
- Navigated
- NavigationProgress
- NavigationFailed
- NavigationStopped
- LoadCompleted
- FragmentNavigation
No todos los eventos se generan cada vez que se produce una navegación; El conjunto de eventos que se generan viene determinado por el tipo de navegación que se produce (contenido o fragmento de contenido) y cómo se completa la navegación (cancelada, detenida o errónea).
En la ilustración siguiente se muestra la secuencia en la que se generan estos eventos:
página de página
Durante o después de una navegación, NavigationService proporciona información sobre el contenido al que se navega, incluido el URI del contenido al que se navega (Source), el URI del contenido actual (CurrentSource) y un objeto que contiene el contenido al que se ha navegado (Content).
Cuando se navega por el contenido, NavigationService registra la navegación como una entrada en el historial de navegación. Se agrega una entrada al historial de navegación posterior cuando se produce una nueva navegación, llamando al Navigate método o navegando a una entrada en el historial de navegación hacia delante, llamando a GoForward. Para agregar una entrada al historial de navegación hacia delante, vaya a una entrada en el historial de navegación hacia atrás llamando a GoBack. CanGoBack y CanGoForward notifican si hay entradas en el historial de navegación hacia atrás y hacia delante, respectivamente. Además, la entrada más reciente en el historial de navegación posterior se puede quitar llamando a RemoveBackEntry.
De forma predeterminada, NavigationService no almacena una instancia de un objeto de contenido en el historial de navegación. En su lugar, NavigationService crea una nueva instancia del objeto de contenido cada vez que se navega a mediante el historial de navegación. Este comportamiento está diseñado para evitar un consumo excesivo de memoria cuando se navegan grandes cantidades de contenido y grandes fragmentos de contenido. Por lo tanto, el estado del contenido no se recuerda de una navegación a la siguiente. Sin embargo, WPF proporciona varias técnicas por las que puede almacenar un fragmento de estado para un fragmento de contenido en el historial de navegación.
Con AddBackEntry, también puede recordar varios conjuntos de estados para una sola instancia de página.
NavigationService es una sealed
clase y, por lo tanto, no se puede crear una instancia; en su lugar, NavigationService los navegadores usan para habilitar la navegación. En WPF, hay dos navegadores: NavigationWindow y Frame.
Visualmente, XBAP usa Internet Explorer como navegador para proporcionar una experiencia de usuario integrada. Sin embargo, físicamente, los XBAP usan NavigationWindow realmente como navegador; la MainWindow propiedad de un XBAP que se ejecuta en Internet Explorer devolverá una referencia a NavigationWindowy el historial de navegación administrado por NavigationWindow se integra con el historial de navegación administrado por Internet Explorer de las siguientes maneras:
- Cuando el contenido se navega a llamando Navigatea , GoBacky GoForward desde dentro de un XBAP, las entradas del historial de navegación pertinentes también se agregan al historial de navegación de Internet Explorer.
- Cuando se seleccionan entradas en la interfaz de usuario de navegación de Internet Explorer, Internet Explorer hace que NavigationService vuelva o reenvíe al contenido asociado a esas entradas.
Nota
Un Frame puede proporcionar su propio historial de navegación o usar el historial de navegación del navegador que lo hospeda. Si Frame proporciona su propio historial de navegación, puede mostrar su propia interfaz de usuario de navegación para navegar por las entradas del historial de navegación; esas entradas no se agregan al historial de navegación del navegador de host (NavigationWindow, Frame, explorador) y, por lo tanto, no se pueden navegar desde la interfaz de usuario de navegación de cada uno (consulte JournalOwnership).
Para obtener más información sobre la compatibilidad con XBAP, vea Preguntas más frecuentes sobre las aplicaciones hospedadas en explorador (XBAP) de WPF.
Propiedades
CanGoBack |
Obtiene un valor que indica si hay al menos una entrada en el historial de retroceso de navegación. |
CanGoForward |
Obtiene un valor que indica si hay al menos una entrada en el historial de avance de navegación. |
Content |
Obtiene o establece una referencia al objeto que contiene el contenido actual. |
CurrentSource |
Obtiene el URI del contenido al que se navegó por última vez. |
Source |
Obtiene o establece el URI del contenido actual o el del nuevo contenido al que se está navegando actualmente. |
Métodos
AddBackEntry(CustomContentState) |
Agrega una entrada al historial de retroceso de navegación que contiene un objeto CustomContentState. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetNavigationService(DependencyObject) |
Obtiene una referencia al objeto NavigationService del navegador cuyo contenido incluye el objeto DependencyObject especificado. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GoBack() |
Navega hasta la entrada más reciente del historial de retroceso de navegación, si lo hay. |
GoForward() |
Navegue hasta la entrada más reciente del historial de avance de navegación, si lo hay. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
Navigate(Object) |
Navegue asincrónicamente al contenido incluido en un objeto. |
Navigate(Object, Object) |
Navegue asincrónicamente al contenido incluido en un objeto y pase un objeto con los datos que se van a usar para el procesamiento durante la navegación. |
Navigate(Uri) |
Navegue asincrónicamente a un contenido especificado por un URI. |
Navigate(Uri, Object) |
Navegue asincrónicamente al contenido de origen que se encuentra en el URI y pase un objeto que contenga los datos que se van a usar para el procesamiento durante la navegación. |
Navigate(Uri, Object, Boolean) |
Navegue asincrónicamente al contenido de origen que se encuentra en el URI y pase un objeto que contenga el estado de navegación de procesamiento durante la navegación e incluya el contenido en el espacio aislado. |
Refresh() |
Recarga el contenido actual. |
RemoveBackEntry() |
Quita la entrada más reciente del diario del historial de retroceso de navegación. |
StopLoading() |
Detiene la descarga de contenido para la solicitud de navegación actual. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Eventos
FragmentNavigation |
Se produce cuando se inicia la navegación a un fragmento de contenido, que se produce inmediatamente, si el fragmento deseado está en el contenido actual o después de cargar el contenido XAML de origen, si el fragmento deseado está en contenido diferente. |
LoadCompleted |
Se produce cuando se ha cargado, analizado y comenzado a representar el contenido al que se navegó. |
Navigated |
Se produce cuando se ha encontrado el contenido al que se navega y ese contenido está disponible en la propiedad Content, aunque no haya terminado de cargarse. |
Navigating |
Se produce cuando se solicita una nueva navegación. |
NavigationFailed |
Se produce cuando surge un error al navegar al contenido solicitado. |
NavigationProgress |
Se produce periódicamente durante una descarga y ofrece información sobre el progreso de la exploración. |
NavigationStopped |
Se produce cuando se llama al método StopLoading() o cuando se solicita una nueva navegación mientras hay una navegación en curso. |