SlideShare una empresa de Scribd logo
Custom Renderers Made Simple
Vicente Guzman
 Aspectos claves del desarrollo
 ¿Que es un Custom Renderer?
 ¿Cuándo son necesarios?
 ¿Por que crear un render?
Agenda
Rendy Del Rosario
 Creando un Custom Renderer paso a paso
 DEMO
 Ciclo de vida de un Custom Renderer
 Controles Nativos
 DEMO
Vicente G. Guzman Lucio
Senior Software Engineer
 luciomsp@geeks.ms
 @LucioMSP
Sobre mí
Aspectos claves del desarrollo móvil
Native User Interfaces Native API Access Native Performance
 ¿Puedo personalizar la apariencia o el comportamiento de un control existente?
 ¿Puedo utilizar controles nativos de cada plataforma con Xamarin.Forms?
 ¿Podemos crear o modificar elementos visuales de Xamarin.Forms?
Principales dudas…
¿Qué es un Custom Renderer?
Poderosa herramienta que nos permite
personalizar y crear nuevas controles.
Un Custom Renderer proporciona un
enfoque potente para personalizar la
apariencia y el comportamiento de los
controles Xamarin.Forms
Controles Nativos
Controles Nativos
 Elementos especificos de la plataforma
 Decoraciones de texto
 Sombras
 Bordes
¿Cuándo son necesarios?
Para utilizar controles nativos de cada plataforma
ó (visto desde otra perspectiva)
para crear una visualización específica para cada plataforma
Entonces…. ¿por qué crear un Renderer?
Rendy Del Rosario
Twitter: @rdelrosario
FB: RendyDelRosario
http://xamboy.com/
1-Crea un control custom de Xamarin.Forms
2-Crea el custom renderer del control por cada plataforma
3-Agrega el atributo ExportRenderer para especificar cual control usará este renderer
4-Consume el control en Xamarin.Forms
Creando un Custom Renderer paso a paso
1- Crea un control de Xamarin.Form
Crea una subclase del control de Xamarin Forms.
2- Crea el custom renderer del control por cada plataforma
2.1- Sobreescribe el método OnElementChanged del control nativo y escribe
dentro de este la lógica para personalizar el control.
2- Crea el custom renderer del control por cada plataforma
3- Agrega el atributo ExportRenderer para especificar cual control usará este renderer.
4- Consume el control customizado en Xamarin Forms
Agregar el NameSpace del control en tu XAML, con una variable (en este caso local)
Usa la variable : Nombre del control, para acceder al control
DEMO
Creando tu primer Control Custom
Ciclo de vida de un Custom Renderer
Este método se llama cuando el control de Xamarin.Forms es creado
Principales propiedades
- Acceso al control original de Forms
- Acceso al control nativo
 Un BindableProperty es un tipo especial de propiedad, donde el valor de la
propiedad es agregado al control. Esta puede ser accedida desde Xaml o
CodeBehind.
Propiedades Customizadas
DEMO
Agregar una propiedad a nuestro Renderer Actual
Controles Nativos
1- Crea tu control custom en el proyecto de Forms
2- Crea una subclase de la clase ViewRenderer <T1, T2> que procesa el control
personalizado.
3- Sobreescribe el método OnElementChanged y Asigna el control Nativo
4- Agrega el atributo ExportRenderer para especificar cual control usará este
renderer.
5- Consume el control en Xamarin.Forms
Creando un Control nativo Paso a Paso
1- Crea tu control custom en el proyecto de Forms
2- Crea una subclase de la clase ViewRenderer <T1, T2> que procesa el
control personalizado por plataforma
3- Sobreescribe el método OnElementChanged y Asigna el control Nativo
4- Agrega el atributo ExportRenderer para especificar cual
control usará este renderer
5- Consume el control en Xamarin.Forms
XAML
CODE
BEHIND
DEMO / Creación de un renderer nativo de un dibujador
Buenas Prácticas
 Xamarin- Documentación oficial
https://developer.xamarin.com/guides/xamarin-forms/application-
fundamentals/custom-renderer/
 Xamarin University: Custom Renderers in Xamarin.Forms
https://www.youtube.com/watch?v=55r1wHdOLBo
Referencias recomendadas
Gracias! Preguntas?
Vicente Guzman
luciomsp@geeks.ms
vicenteguzman.mx
@LucioMSP
Rendy Del Rosario
FB: RendyDelRosario
http://xamboy.com/
@rdelrosario

Más contenido relacionado

PPTX
Analizando interfaces de usuario avanzadas con Xamarin.Forms
PPTX
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
PPTX
.Net Conf Sevilla 2018
PPTX
Monkey Conf 2020: .NET MAUI Handlers
PDF
Topicos Selectos de Xamarin
PDF
Custom Renders Xamarin.Forms
PPTX
Extendiendo Xamarin.Forms
PPTX
Extendiendo Xamarin.Forms con Custom Renders
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
.Net Conf Sevilla 2018
Monkey Conf 2020: .NET MAUI Handlers
Topicos Selectos de Xamarin
Custom Renders Xamarin.Forms
Extendiendo Xamarin.Forms
Extendiendo Xamarin.Forms con Custom Renders

Similar a Custom Renderers Made Simple (20)

PPTX
Introducción a Xamarin.Forms
PPTX
Creando controles para Xamarin.Forms
PPTX
Aumento de productividad, herramientas Xamarin
PPTX
DotNetDom: El futuro de Xamarin
PPTX
6.- DynaForms Avanzados v3.pptx
PDF
Windows.forms.ejercicios
PPTX
Xamarin forms en el mundo real
PDF
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
PPTX
Introducción a Live XAML
PDF
INFOSAN VISUAL BASIC
PDF
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
PPTX
.NET Day Guatemala
PPTX
primera aplicacion Xamarin.pptx
PPTX
Women Who Code Bogota: Introduction to Xamarin Forms
PPTX
Semanahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
PPTX
Introducción a Xamarin
PPS
Net capitulo I - fundamentos
DOC
Fundamentos vb
PPT
Dce2 introduccion win_forms
Introducción a Xamarin.Forms
Creando controles para Xamarin.Forms
Aumento de productividad, herramientas Xamarin
DotNetDom: El futuro de Xamarin
6.- DynaForms Avanzados v3.pptx
Windows.forms.ejercicios
Xamarin forms en el mundo real
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
Introducción a Live XAML
INFOSAN VISUAL BASIC
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
.NET Day Guatemala
primera aplicacion Xamarin.pptx
Women Who Code Bogota: Introduction to Xamarin Forms
Semanahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Introducción a Xamarin
Net capitulo I - fundamentos
Fundamentos vb
Dce2 introduccion win_forms
Publicidad

Más de Vicente Gerardo Guzman Lucio (20)

PPTX
Codificando con Superpoderes Python y GitHub Copilot.pptx
PPTX
AWS Community Day Colombia 2025 - 🗣️ Alexa Para Todos: Integrando Nova Micro ...
PPTX
Amazon Q Dev: Tu Compañero para Programar
PDF
SageMaker: Transformando el Aprendizaje Automático en AWS
PDF
GPPB2024 - Integrando ChatGPT en Power Automate
PPTX
Introducción a Amazon Alexa.pptx
PDF
Creando un Chatbot en C# con ChatGPT.pdf
PPTX
ChatGPT & Alexa.pptx
PDF
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
PPTX
Conectando un Azure Bot con una Alexa Skill
PPTX
Azure DevOps y Blazor Web Assembly
PDF
Desarrollo de Interfaces de Voz: Alexa Skills
PPTX
PPTX
Introducción a Blazor
PPTX
Infraestructura como Código en Azure
PDF
Diseño de Experiencias de Voz con Amazon Alexa
PDF
Alexa Skill con .NETCore & AWS Lambda
PPTX
Skills Nights - Vol.III - Primeros Pasos
PDF
¿Qué es la Nube?
PDF
Consumiendo un servicio externo con Axios en Alexa
Codificando con Superpoderes Python y GitHub Copilot.pptx
AWS Community Day Colombia 2025 - 🗣️ Alexa Para Todos: Integrando Nova Micro ...
Amazon Q Dev: Tu Compañero para Programar
SageMaker: Transformando el Aprendizaje Automático en AWS
GPPB2024 - Integrando ChatGPT en Power Automate
Introducción a Amazon Alexa.pptx
Creando un Chatbot en C# con ChatGPT.pdf
ChatGPT & Alexa.pptx
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
Conectando un Azure Bot con una Alexa Skill
Azure DevOps y Blazor Web Assembly
Desarrollo de Interfaces de Voz: Alexa Skills
Introducción a Blazor
Infraestructura como Código en Azure
Diseño de Experiencias de Voz con Amazon Alexa
Alexa Skill con .NETCore & AWS Lambda
Skills Nights - Vol.III - Primeros Pasos
¿Qué es la Nube?
Consumiendo un servicio externo con Axios en Alexa
Publicidad

Último (6)

PPTX
sistemas de informacion.................
PPTX
Conceptos basicos de Base de Datos y sus propiedades
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
sistemas de informacion.................
Conceptos basicos de Base de Datos y sus propiedades
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Derechos_de_Autor_y_Creative_Commons.pptx
AutoCAD Herramientas para el futuro, Juan Fandiño
Su punto de partida en la IA: Microsoft 365 Copilot Chat

Custom Renderers Made Simple

  • 2. Vicente Guzman  Aspectos claves del desarrollo  ¿Que es un Custom Renderer?  ¿Cuándo son necesarios?  ¿Por que crear un render? Agenda Rendy Del Rosario  Creando un Custom Renderer paso a paso  DEMO  Ciclo de vida de un Custom Renderer  Controles Nativos  DEMO
  • 3. Vicente G. Guzman Lucio Senior Software Engineer  luciomsp@geeks.ms  @LucioMSP Sobre mí
  • 4. Aspectos claves del desarrollo móvil Native User Interfaces Native API Access Native Performance
  • 5.  ¿Puedo personalizar la apariencia o el comportamiento de un control existente?  ¿Puedo utilizar controles nativos de cada plataforma con Xamarin.Forms?  ¿Podemos crear o modificar elementos visuales de Xamarin.Forms? Principales dudas…
  • 6. ¿Qué es un Custom Renderer? Poderosa herramienta que nos permite personalizar y crear nuevas controles. Un Custom Renderer proporciona un enfoque potente para personalizar la apariencia y el comportamiento de los controles Xamarin.Forms
  • 9.  Elementos especificos de la plataforma  Decoraciones de texto  Sombras  Bordes ¿Cuándo son necesarios?
  • 10. Para utilizar controles nativos de cada plataforma ó (visto desde otra perspectiva) para crear una visualización específica para cada plataforma Entonces…. ¿por qué crear un Renderer?
  • 11. Rendy Del Rosario Twitter: @rdelrosario FB: RendyDelRosario http://xamboy.com/
  • 12. 1-Crea un control custom de Xamarin.Forms 2-Crea el custom renderer del control por cada plataforma 3-Agrega el atributo ExportRenderer para especificar cual control usará este renderer 4-Consume el control en Xamarin.Forms Creando un Custom Renderer paso a paso
  • 13. 1- Crea un control de Xamarin.Form Crea una subclase del control de Xamarin Forms.
  • 14. 2- Crea el custom renderer del control por cada plataforma
  • 15. 2.1- Sobreescribe el método OnElementChanged del control nativo y escribe dentro de este la lógica para personalizar el control. 2- Crea el custom renderer del control por cada plataforma
  • 16. 3- Agrega el atributo ExportRenderer para especificar cual control usará este renderer.
  • 17. 4- Consume el control customizado en Xamarin Forms Agregar el NameSpace del control en tu XAML, con una variable (en este caso local) Usa la variable : Nombre del control, para acceder al control
  • 18. DEMO Creando tu primer Control Custom
  • 19. Ciclo de vida de un Custom Renderer Este método se llama cuando el control de Xamarin.Forms es creado
  • 20. Principales propiedades - Acceso al control original de Forms - Acceso al control nativo
  • 21.  Un BindableProperty es un tipo especial de propiedad, donde el valor de la propiedad es agregado al control. Esta puede ser accedida desde Xaml o CodeBehind. Propiedades Customizadas
  • 22. DEMO Agregar una propiedad a nuestro Renderer Actual
  • 24. 1- Crea tu control custom en el proyecto de Forms 2- Crea una subclase de la clase ViewRenderer <T1, T2> que procesa el control personalizado. 3- Sobreescribe el método OnElementChanged y Asigna el control Nativo 4- Agrega el atributo ExportRenderer para especificar cual control usará este renderer. 5- Consume el control en Xamarin.Forms Creando un Control nativo Paso a Paso
  • 25. 1- Crea tu control custom en el proyecto de Forms
  • 26. 2- Crea una subclase de la clase ViewRenderer <T1, T2> que procesa el control personalizado por plataforma
  • 27. 3- Sobreescribe el método OnElementChanged y Asigna el control Nativo
  • 28. 4- Agrega el atributo ExportRenderer para especificar cual control usará este renderer
  • 29. 5- Consume el control en Xamarin.Forms XAML CODE BEHIND
  • 30. DEMO / Creación de un renderer nativo de un dibujador
  • 32.  Xamarin- Documentación oficial https://developer.xamarin.com/guides/xamarin-forms/application- fundamentals/custom-renderer/  Xamarin University: Custom Renderers in Xamarin.Forms https://www.youtube.com/watch?v=55r1wHdOLBo Referencias recomendadas
  • 33. Gracias! Preguntas? Vicente Guzman luciomsp@geeks.ms vicenteguzman.mx @LucioMSP Rendy Del Rosario FB: RendyDelRosario http://xamboy.com/ @rdelrosario

Notas del editor

  • #6: Xamarin.Forms es un toolkit que crea una abstracción sobre la interfaz de usuario de Android, iOS y Windows Phone permitiendo desarrollarla una única vez con código C# o Extensible Application Markup Language (XAML). Permite crear facilmente y con rapidez interfaces de usuario nativas compartidas donde  cada elemento visual en Xamarin.Forms son mapeados a elementos nativos y comportamientos propios de cada plataforma. Preguntas…. En esta sesion vamos a ver que podemos crear nuestras propias abstracciones ya sea modificando alguna de las existentes o partiendo desde prácticamente cero.