Navegación
Clase 33 de 52 • Curso de Xamarin.Forms
Resumen
La clase base VisualElement incluye la propiedad Navigation, de tipo INavigation que expone los siguientes métodos; PushAsync y PopAsync, para navegación jerárquica, además de; PushModalAsync() y PopModalAsync(), para navegación modal.
La Navegación jerárquica: es una navegación de tipo pila (LIFO) en la que cada página de la aplicación va organizándose en una pila, por lo que la última página mostrada estaría en la sima de la pila y sería la primera en descartarse al retroceder en la navegación. Este tipo de navegación requiere que el componente base de la interfaz sea de tipo <NavigationPage /> al cual deberemos indicarle mediante el constructor, cuál será la primera página a mostrar. Para navegar entre las diferentes páginas de la pila de navegación se emplean los métodos PushAsync y PopAsync. Durante la navegación entre páginas de la aplicación se suceden los eventos OnAppearing, al mostrarse y OnDesappearing, al desaparecer cada página. No se recomienda basar la lógica de la aplicación en estos eventos, ya que pueden variar su orden dependiendo de la plataforma. Cada página que se saca de la pila con PopAsync(), es destruida, por lo que si se requiere conservar el estado de los datos que contiene, es necesario apoyarse en las propiedades definidas en la clase App, u otra técnica de persistencia de datos.
La Navegación modal se refiere a la navegación que se hace hacia una página que se coloca por encima de toda la interfaz interrumpiendo el flujo de la aplicación hasta tanto esa página sea cerrada. En este tipo de navegación no se requiere que la base de la interfaz sea de tipo NavigationPage, sino que puede ser simplemente ContentPage. Para cargar y cerrar las páginas en este tipo de navegación se utilizan los métodos PushModalAsync() y PopModalAsync().