NavigationService Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Contém métodos, propriedades e eventos para suportar a navegação.
public ref class NavigationService sealed
public sealed class NavigationService
type NavigationService = class
Public NotInheritable Class NavigationService
- Herança
-
NavigationService
Observações
NavigationService encapsula a capacidade de descarregar conteúdos no contexto de uma navegação ao estilo de navegador.
O conteúdo pode ser qualquer tipo de objeto .NET Framework e ficheiros HTML. Em geral, no entanto, as páginas são preferidas como forma de empacotar conteúdos para navegação (ver Page).
O conteúdo pode ser acedido fornecendo uma instância de um objeto e chamando uma sobrecarga do Navigate método que aceita um objeto:
Alternativamente, o conteúdo pode ser navegado passando um URI relativo ou absoluto para um dos Navigate overloads de método que aceita um URI:
- NavigationService.Navigate(Uri)
- NavigationService.Navigate(Uri, Object)
- NavigationService.Navigate(Uri, Object, Boolean)
Quando o conteúdo é explorado por URI, NavigationService devolve um objeto que contém o conteúdo.
A vida útil de uma navegação pode ser acompanhada através dos seguintes eventos:
- Navigating
- Navigated
- NavigationProgress
- NavigationFailed
- NavigationStopped
- LoadCompleted
- FragmentNavigation
Nem todos os eventos são levantados sempre que ocorre uma navegação; O conjunto de eventos que são levantados é determinado pelo tipo de navegação que ocorre (conteúdo ou fragmento de conteúdo) e pela forma como a navegação se completa (cancelada, interrompida ou falhada).
A figura seguinte ilustra a sequência em que estes eventos são levantados:
Durante ou após uma navegação, NavigationService fornece informação sobre o conteúdo para o qual está a ser navegado, incluindo o URI do conteúdo para (Source), o URI do conteúdo atual (CurrentSource), e um objeto que contém o conteúdo para o qual foi navegado (Content).
Quando o conteúdo é navegado, NavigationService regista a navegação como uma entrada no histórico de navegação. Uma entrada é adicionada ao histórico de navegação retroativa quando ocorre uma nova navegação, chamando o Navigate método, ou navegando até uma entrada no histórico de navegação anterior, chamando GoForward. Uma entrada é adicionada ao histórico de navegação avançada navegando até uma entrada no histórico de navegação retroativa, chamando GoBack. CanGoBack e CanGoForward reportar se existem entradas no histórico de navegação para trás e para a frente, respetivamente. Além disso, a entrada mais recente no histórico de navegação retroativa pode ser removida ligando para RemoveBackEntry.
Por defeito, 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 cada vez que é navegado usando o histórico de navegação. Este comportamento foi concebido para evitar um consumo excessivo de memória quando se navegam grandes quantidades e grandes partes de conteúdo. Consequentemente, o estado do conteúdo não é recordado de uma navegação para outra. No entanto, o WPF fornece várias técnicas pelas quais pode armazenar um pedaço de estado para um conteúdo no histórico de navegação.
Usando AddBackEntry, também pode memorizar 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 pelos navegadores para permitir a navegação. Em WPF, existem dois navegadores: NavigationWindow e Frame.
Visualmente, os XBAPs utilizam o Internet Explorer como navegador, para proporcionar uma experiência integrada ao utilizador. Fisicamente, no entanto, os XBAPs usam efetivamente NavigationWindow como navegador; a propriedade MainWindow de um XBAP a correr em Internet Explorer devolverá uma referência ao NavigationWindow, e o histórico de navegação gerido pelo NavigationWindow é integrado com o histórico de navegação gerido por Internet Explorer das seguintes formas:
- Quando o conteúdo é acedido chamando Navigate, GoBack e GoForward a partir de um XBAP, as entradas relevantes do histórico de navegação também são adicionadas ao Internet Explorer histórico de navegação.
- Quando as entradas na interface de navegação Internet Explorer são selecionadas, Internet Explorer faz com que NavigationService navegue para trás ou para a frente até ao conteúdo associado a essas entradas.
Note
A Frame pode fornecer o seu próprio histórico de navegação, ou usar o histórico de navegação do navegador que o hospeda. Se Frame fornecer o seu próprio histórico de navegação, pode mostrar a sua própria interface 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 anfitrião (NavigationWindow, Frame, browser) e, consequentemente, não podem ser acedidas a partir da interface de navegação de cada uma (ver JournalOwnership).
Para mais informações sobre o suporte ao XBAP, consulte Perguntas frequentes sobre WPF aplicações alojadas no navegador (XBAP).
Propriedades
| Name | Description |
|---|---|
| CanGoBack |
Obtém um valor que indica se há pelo menos uma entrada no histórico de navegação retroativa. |
| CanGoForward |
Obtém um valor que indica se há pelo menos uma entrada no histórico de navegação avançada. |
| 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 para o qual está a ser navegado. |
Métodos
| Name | Description |
|---|---|
| AddBackEntry(CustomContentState) |
Adiciona uma entrada no histórico de navegação retroativa que contém um CustomContentState objeto. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (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() |
Navega até à entrada mais recente no histórico de navegação retroativa, se houver. |
| GoForward() |
Navegue até à entrada mais recente no histórico de navegação avançada, se existir. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| Navigate(Object, Object) |
Navegue assíncronamente até ao conteúdo contido por um objeto e passe um objeto que contenha dados para processamento durante a navegação. |
| Navigate(Object) |
Navegue de forma assíncrona até ao conteúdo contido por um objeto. |
| Navigate(Uri, Object, Boolean) |
Navega de forma assíncrona até ao conteúdo de origem localizado num URI, passa um objeto contendo estado de navegação para processamento durante a navegação e faz sandbox ao conteúdo. |
| Navigate(Uri, Object) |
Navegue assíncronamente até ao conteúdo de origem localizado num URI, e passe um objeto que contenha dados para processamento durante a navegação. |
| Navigate(Uri) |
Navegue de forma assíncrona até ao conteúdo especificado por um URI. |
| Refresh() |
Recarrega o conteúdo atual. |
| RemoveBackEntry() |
Remove a entrada de diário mais recente do histórico histórico. |
| StopLoading() |
Impede de descarregar mais conteúdo para o pedido de navegação atual. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
evento
| Name | 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 depois de o conteúdo XAML de origem ter sido carregado, se o fragmento desejado estiver em conteúdo diferente. |
| LoadCompleted |
Ocorre quando o conteúdo para o qual foi navegado foi carregado, analisado e começou a ser renderizado. |
| Navigated |
Ocorre quando o conteúdo para o qual está a ser navegado foi encontrado e está disponível na Content propriedade, embora possa não ter terminado o carregamento. |
| Navigating |
Ocorre quando é solicitada uma nova navegação. |
| NavigationFailed |
Ocorre quando ocorre um erro ao navegar para o conteúdo solicitado. |
| NavigationProgress |
Ocorre periodicamente durante o download para fornecer informação sobre o progresso da 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. |