Carrito de compras

Filas con contenido diferente en Xamarin Forms

13 oct. Desarrollador de código

En muchas ocasiones trabajamos con múltiples listas en nuestras aplicaciones, sin embargo, en ciertos casos requerimos que dentro de una misma lista haya identificadores o elementos con características diferentes según distintos escenarios. Imagine, por ejemplo, que desarrolla una aplicación para una universidad y como requerimiento le asignan una lista de notas de estudiantes que cambie de color según su nota final; esto podría hacerse cambiando el color de la fila según la nota; no obstante, si en el caso de que el alumno haya reprobado podrían solicitarle más datos o estilos diferentes dentro de la fila o bien cambiar toda la lista sin la necesidad de crear dos vistas diferentes. La siguiente información sin duda podría ser de su interés…

Utilización de DataTemplateSelector en Xamarin.Forms.

Para cumplir con lo establecido en el escenario descrito anteriormente, utilizaremos la clase “DataTemplateSelector” la cual, permite a los controles utilizar plantillas y evitar que tengamos que reescribir código innecesario. Los pasos para utilizarlo en un listview son los siguientes:

1. Se debe crear una clase que herede de la clase DataTemplateSelector e implementar el método OnSelectTemplate para poder hacer la distinción en tiempo de ejecución de que plantilla utilizar.

2. En este caso se creó una clase extra para poder manipular los nombres de las plantillas:

3. Del lado de las vistas que realizarán las labores de plantillas las modificamos según necesitemos:

     

4. Por último, para implementar las plantillas creamos una vista adicional que sería la principal:

Es importante agregar la referencia al “selector de plantillas” que acabamos de crear, es decir a la clase que hereda al “DataTemplateSelector”:

La forma en la cual carguemos datos dentro de la lista no es importante para efectos del ejemplo, se puede realizar de cualquier forma; luego de hacerlo tendríamos un resultado como el siguiente:

Agregar identificadores puede ser muy útil dependiendo del escenario en el que estemos trabajando, y las aplicaciones que podemos darle son muchas; no únicamente trabajar con colores sino dar un formato totalmente distinto entre fila o incluso disponer de controles diferentes ya sea un botón en la fila que posea X nota, por ejemplo. Los usos son tantos como nuestra creatividad o alcances nos permitan.

Rafael Martinez Mena | Development Engineer Consultant | Ingeniero en Sistemas

¿Te gustó? Entonces comparte la publicación: