Partilhar via


NavigationService Classe

Definição

Contém métodos, propriedades e eventos para dar suporte à navegação.

public ref class NavigationService sealed
public sealed class NavigationService
type NavigationService = class
Public NotInheritable Class NavigationService
Herança
NavigationService

Comentários

NavigationService encapsula a capacidade de baixar conteúdo dentro do contexto de uma navegação no estilo navegador.

O conteúdo pode ser qualquer tipo de objeto .NET Framework e arquivos HTML. Em geral, no entanto, as páginas são as preferenciais como a maneira de empacotar conteúdo para navegação (consulte Page).

O conteúdo pode ser navegado para fornecendo uma instância de um objeto e chamando uma sobrecarga do Navigate método que aceita um objeto :

Como alternativa, o conteúdo pode ser navegado passando um URI relativo ou absoluto para uma das Navigate sobrecargas de método que aceita um URI:

Quando o conteúdo for navegado por URI, NavigationService retornará um objeto que contém o conteúdo.

O tempo de vida de uma navegação pode ser acompanhado pelos seguintes eventos:

Nem todos os eventos são gerados sempre que ocorre uma navegação; o conjunto de eventos gerados é determinado pelo tipo de navegação que ocorre (conteúdo ou fragmento de conteúdo) e como a navegação é concluída (cancelada, interrompida ou com falha).

A figura a seguir ilustra a sequência na qual esses eventos são gerados:

Gráfico de fluxo de navegação de página

Durante ou após uma navegação, NavigationService fornece informações sobre o conteúdo que está sendo navegado, incluindo o URI do conteúdo que está sendo navegado para (Source), o URI do conteúdo atual (CurrentSource) e um objeto que contém o conteúdo que foi navegado para (Content).

Quando o conteúdo é navegado, NavigationService registra a navegação como uma entrada no histórico de navegação. Uma entrada é adicionada ao histórico de navegação de volta quando ocorre uma nova navegação, chamando o Navigate método ou navegando até uma entrada no histórico de navegação, chamando GoForward. Uma entrada é adicionada ao histórico de navegação de encaminhamento navegando até uma entrada no histórico de navegação posterior, chamando GoBack. CanGoBack e CanGoForward relatam se há entradas no histórico de navegação para trás e para frente, respectivamente. Além disso, a entrada mais recente no histórico de navegação posterior pode ser removida chamando RemoveBackEntry.

Por padrão, NavigationService não armazena uma instância de um objeto de conteúdo no histórico de navegação. Em vez disso, NavigationService cria uma nova instância do objeto de conteúdo sempre que ele é navegado usando o histórico de navegação. Esse comportamento foi projetado para evitar o consumo excessivo de memória quando grandes números e grandes partes de conteúdo estão sendo navegados. Consequentemente, o estado do conteúdo não é lembrado de uma navegação para a outra. No entanto, o WPF fornece várias técnicas pelas quais você pode armazenar uma parte do estado de um conteúdo no histórico de navegação.

Usando AddBackEntry, você também pode se lembrar de vários conjuntos de estado para uma única instância de página.

NavigationService é uma sealed classe e, portanto, não pode ser instanciada; em vez disso, NavigationService é usada por navegadores para habilitar a navegação. No WPF, há dois navegadores: NavigationWindow e Frame.

Visualmente, os XBAPs usam a Internet Explorer como navegador para fornecer uma experiência de usuário integrada. Fisicamente, no entanto, os XBAPs realmente usam NavigationWindow como navegador; a MainWindow propriedade de um XBAP em execução na Internet Explorer retornará uma referência ao NavigationWindowe o histórico de navegação gerenciado pelo NavigationWindow é integrado ao histórico de navegação gerenciado pela Internet Explorer das seguintes maneiras:

  • Quando o conteúdo é navegado para chamando Navigate, GoBacke GoForward de dentro de um XBAP, as entradas relevantes do histórico de navegação também são adicionadas à Internet Explorer histórico de navegação.
  • Quando as entradas na interface do usuário de navegação Explorer internet são selecionadasNavigationService, a Internet Explorer faz com que navegue para trás ou encaminhe para o conteúdo associado a essas entradas.

Observação

Um Frame pode fornecer seu próprio histórico de navegação ou usar o histórico de navegação do navegador que o hospeda. Se Frame fornecer seu próprio histórico de navegação, ele poderá exibir sua própria interface do usuário de navegação para navegar pelas entradas no histórico de navegação; essas entradas não são adicionadas ao histórico de navegação do navegador do host (NavigationWindow, Frame, navegador) e, consequentemente, não podem ser navegadas da interface do usuário de navegação de cada um (consulte JournalOwnership).

Para obter mais informações sobre o suporte a XBAP, consulte Perguntas frequentes sobre aplicativos hospedados por navegador (XBAP) do WPF.

Propriedades

CanGoBack

Obtém um valor que indica se há pelo menos uma entrada no histórico de navegação.

CanGoForward

Obtém um valor que indica se há pelo menos uma entrada no histórico de navegação progressivo.

Content

Obtém ou define uma referência ao objeto que contém o conteúdo atual.

CurrentSource

Obtém o URI do conteúdo para o qual se navegou por último.

Source

Obtém ou define o URI do conteúdo atual ou o URI do conteúdo novo para o qual se está navegando atualmente.

Métodos

AddBackEntry(CustomContentState)

Adiciona uma entrada ao histórico de navegação pregresso que contém um objeto CustomContentState.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetNavigationService(DependencyObject)

Obtém uma referência ao NavigationService do navegador cujo conteúdo contém o DependencyObject especificado.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GoBack()

Navega para a entrada mais recente do histórico de navegação de retorno, se houver.

GoForward()

Navegue para a entrada mais recente do histórico de navegação de avanço, se houver.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Navigate(Object)

Navegue de forma assíncrona para o conteúdo contido por um objeto.

Navigate(Object, Object)

Navegue de forma assíncrona o conteúdo contido por um objeto e passe um objeto que contém dados a serem usados para processamento durante a navegação.

Navigate(Uri)

Navegue de maneira assíncrona para o conteúdo que é especificado por um URI.

Navigate(Uri, Object)

Navegue de forma assíncrona para o conteúdo de origem localizado em um URI e passe um objeto que contém dados que serão usados para processamento durante a navegação.

Navigate(Uri, Object, Boolean)

Navegue de maneira assíncrona para conteúdo de origem localizado em um URI, passe um objeto que contém o estado de navegação para processamento durante a navegação e coloque o conteúdo na área restrita.

Refresh()

Recarrega o conteúdo atual.

RemoveBackEntry()

Remove a entrada de diário mais recente do histórico anterior.

StopLoading()

Interrompe o download de mais de conteúdo para a solicitação de navegação atual.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Eventos

FragmentNavigation

Ocorre quando a navegação para um fragmento de conteúdo começa, o que ocorre imediatamente, se o fragmento desejado estiver no conteúdo atual ou depois que o conteúdo XAML de origem tiver sido carregado, se o fragmento desejado estiver em conteúdo diferente.

LoadCompleted

Ocorre quando o conteúdo para o qual se navegou foi carregado, analisado e iniciou a renderização.

Navigated

Ocorre quando o conteúdo para o qual se está navegando foi encontrado e está disponível na propriedade Content, embora ele talvez não tenha concluído o carregamento.

Navigating

Ocorre quando uma nova navegação é solicitada.

NavigationFailed

Ocorre quando há um erro durante a navegação para conteúdo solicitado.

NavigationProgress

Ocorre periodicamente durante um download para fornecer informações sobre o andamento da navegação.

NavigationStopped

Ocorre quando o método StopLoading() é chamado ou quando uma nova navegação é solicitada durante uma navegação atual.

Aplica-se a