Compartilhar 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 no contexto de uma navegação no estilo navegador.

O conteúdo pode ser qualquer tipo de objeto do .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 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 sobrecargas de Navigate 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 uma navegação ocorre; 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 fluxograma 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 de volta, chamando GoBack. CanGoBack e CanGoForward informe 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 traseira 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 navegadas. 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 um pedaço de estado para 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 o Internet Explorer como navegador para fornecer uma experiência integrada do usuário. Fisicamente, no entanto, os XBAPs realmente usam NavigationWindow como navegador; a MainWindow propriedade de um XBAP em execução no 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 pelo Internet Explorer das seguintes maneiras:

  • Quando o conteúdo é navegado por chamada Navigatee GoBackGoForward de dentro de um XBAP, as entradas de histórico de navegação relevantes também são adicionadas ao histórico de navegação do Internet Explorer.
  • Quando as entradas na interface do usuário de navegação do Internet Explorer são selecionadas NavigationService , o 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, Framenavegador) 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 ao XBAP, consulte perguntas frequentes sobre XBAP (aplicativos hospedados por navegador) do WPF.

Propriedades

Nome Description
CanGoBack

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

CanGoForward

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

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 que foi navegado pela última vez.

Source

Obtém ou define o URI do conteúdo atual ou o URI do novo conteúdo que está sendo navegado no momento.

Métodos

Nome Description
AddBackEntry(CustomContentState)

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

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 para o NavigationService navegador cujo conteúdo contém o especificado DependencyObject.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GoBack()

Navegará até a entrada mais recente no histórico de navegação de volta, se houver uma.

GoForward()

Navegue até a entrada mais recente no histórico de navegação, se houver uma.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
Navigate(Object, Object)

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

Navigate(Object)

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

Navigate(Uri, Object, Boolean)

Navegue de forma assíncrona até o 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 a área restrita do conteúdo.

Navigate(Uri, Object)

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

Navigate(Uri)

Navegue de forma assíncrona para o conteúdo especificado por um URI.

Refresh()

Recarrega o conteúdo atual.

RemoveBackEntry()

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

StopLoading()

Interrompe o download adicional do 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

Nome Description
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 após o conteúdo XAML de origem ter sido carregado, se o fragmento desejado estiver em conteúdo diferente.

LoadCompleted

Ocorre quando o conteúdo que foi navegado foi carregado, analisado e iniciado a renderização.

Navigated

Ocorre quando o conteúdo que está sendo navegado foi encontrado e está disponível na propriedade, embora possa não ter concluído o Content carregamento.

Navigating

Ocorre quando uma nova navegação é solicitada.

NavigationFailed

Ocorre quando ocorre um erro ao navegar até o conteúdo solicitado.

NavigationProgress

Ocorre periodicamente durante um download para fornecer informações de progresso de navegação.

NavigationStopped

Ocorre quando o StopLoading() método é chamado ou quando uma nova navegação é solicitada enquanto uma navegação atual está em andamento.

Aplica-se a