Compartir vía


NavigationService Clase

Definición

Contiene métodos, propiedades y eventos para admitir 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 dentro del contexto de una navegación de estilo explorador.

El contenido puede ser cualquier tipo de objeto de .NET Framework y archivos HTML. En general, sin embargo, las páginas son las preferidas como la manera de empaquetar contenido para la navegación (vea 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:

Cuando el contenido se desplaza a mediante 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:

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 con errores).

En la ilustración siguiente se muestra la secuencia en la que se generan estos eventos:

Gráfico de flujo de navegación de página Gráfico

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 al contenido, NavigationService registra la navegación como 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 posterior mediante una llamada a GoBack. CanGoBack e CanGoForward informe de 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 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 estado para una sola instancia de página.

NavigationService es una clase y, por tanto, no se puede crear una sealed 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 se integra con el historial de navegación administrado por NavigationWindow Internet Explorer de las maneras siguientes:

  • Cuando se navega al contenido 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 las entradas de la interfaz de usuario de navegación de Internet Explorer, Internet Explorer hace NavigationService que 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 host (, Frame, explorador) y, por lo tanto, no se pueden navegar desde la interfaz de usuario de navegación de cada uno (NavigationWindowvea 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

Nombre Description
CanGoBack

Obtiene un valor que indica si hay al menos una entrada en el historial de navegación hacia atrás.

CanGoForward

Obtiene un valor que indica si hay al menos una entrada en el historial de navegación hacia delante.

Content

Obtiene o establece una referencia al objeto que contiene el contenido actual.

CurrentSource

Obtiene el URI del contenido al que se ha navegado por última vez.

Source

Obtiene o establece el URI del contenido actual o el URI del nuevo contenido al que se navega actualmente.

Métodos

Nombre Description
AddBackEntry(CustomContentState)

Agrega una entrada al historial de navegación posterior que contiene un CustomContentState objeto .

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetNavigationService(DependencyObject)

Obtiene una referencia a para NavigationService el navegador cuyo contenido contiene el especificado DependencyObject.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GoBack()

Navega a la entrada más reciente en el historial de navegación posterior, si hay una.

GoForward()

Vaya a la entrada más reciente en el historial de navegación hacia delante, si hay una.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
Navigate(Object, Object)

Navegue de forma asincrónica al contenido contenido contenido por un objeto y pase un objeto que contiene los datos que se usarán para su procesamiento durante la navegación.

Navigate(Object)

Navegue de forma asincrónica al contenido contenido contenido por un objeto .

Navigate(Uri, Object, Boolean)

Navegue de forma asincrónica al contenido de origen ubicado en un URI, pase un objeto que contenga el estado de navegación para su procesamiento durante la navegación y espacio aislado del contenido.

Navigate(Uri, Object)

Navegue de forma asincrónica al contenido de origen ubicado en un URI y pase un objeto que contiene los datos que se usarán para su procesamiento durante la navegación.

Navigate(Uri)

Navegue de forma asincrónica al contenido especificado por un URI.

Refresh()

Vuelve a cargar el contenido actual.

RemoveBackEntry()

Quita la entrada del diario más reciente del historial posterior.

StopLoading()

Detiene la descarga adicional del contenido de la solicitud de navegación actual.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

Nombre Description
FragmentNavigation

Se produce cuando comienza 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 la representación del contenido al que se ha navegado.

Navigated

Se produce cuando se encuentra el contenido al que se navega y está disponible en la propiedad , aunque es posible que no se haya completado la Content carga.

Navigating

Se produce cuando se solicita una nueva navegación.

NavigationFailed

Se produce cuando se produce un error al navegar al contenido solicitado.

NavigationProgress

Se produce periódicamente durante una descarga para proporcionar información de progreso de navegación.

NavigationStopped

Se produce cuando se llama al StopLoading() método o cuando se solicita una nueva navegación mientras está en curso una navegación actual.

Se aplica a