Entradas

[Xamarin.Forms] Descubriendo el control Expander

Imagen
Hace pocos días se lanzó Xamarin.Forms 4.6 por el canal estable y con esta versión llega Expander un control que tenia muchas ganas de probar, he preparado un pequeño ejemplo para enseñar lo sencillo que es de utilizar y el resultado es espectacular, con este control puedes dar a tus aplicaciones un toque más dinámico en términos visuales, empecemos con el ejemplo:
El único requisito que necesitas para usar este control es tener de la versión 4.6-pre4 de Xamarin.Forms en adelante.
Primero que nada crearemos un modelo del objeto que utilizaremos en este ejemplo, en este caso se llamara Person y tendrá unas propiedades básicas: publicclass Person {publicstring Name {get;set;}publicstring Surname {get;set;}publicstring Email {get;set;}publicstring Phone {get;set;}publicstring Icon {get;set;}} Ahora crearemos en el view model de nuestra vista un observable collection que contendrá objetos de tipo Person:
private ObservableCollection<Person> _persons =new ObservableCollection<P…

[Xamarin.Forms] Pasar objetos entre paginas utilizando la navegación de Shell

Imagen
Recientemente me entró la curiosidad por probar la navegación basada en URIS (shell) que esta disponible en Xamarin.Forms desde su versión 4.0. Tras desarrollar una aplicación básica donde fui probando de lo que era capaz shell en términos generales me quedé con un buen sabor de boca, se puede apreciar un rendimiento excepcional, se nota el trabajo que ha habido por parte del equipo de Xamarin, no obstante me encontré con una limitación la cual tiene que ver con el paso de parámetros mediante la navegación de shell, como se puede apreciar en la documentación oficial únicamente se permiten pasar parámetros de tipo string lo cual en algunas situaciones puede no ser suficiente, siendo actualmente imposible pasar objetos más complejos, por eso me decidí ha escribir este articulo donde explicare una solución a este problema.

Para empezar crearemos el modelo del objeto con el que trabajaremos en este ejemplo:
publicclass Contact {publicstring Name {get;set;}publicstring LastName {get;se…