Representadores personalizados de Xamarin.FormsXamarin.Forms Custom Renderers

Las interfaces de usuario de Xamarin.Forms se representan mediante los controles nativos de la plataforma de destino, lo que permite que las aplicaciones de Xamarin.Forms conserven la apariencia adecuada para cada plataforma. Los representadores personalizados permiten que los desarrolladores reemplacen este proceso para personalizar la apariencia y el comportamiento de los controles de Xamarin.Forms en cada plataforma.Xamarin.Forms user interfaces are rendered using the native controls of the target platform, allowing Xamarin.Forms applications to retain the appropriate look and feel for each platform. Custom Renderers let developers override this process to customize the appearance and behavior of Xamarin.Forms controls on each platform.

Introducción a los representadores personalizadosIntroduction to custom renderers

Los representadores personalizados proporcionan un método eficaz para personalizar la apariencia y el comportamiento de los controles de Xamarin.Forms.Custom renderers provide a powerful approach for customizing the appearance and behavior of Xamarin.Forms controls. Se pueden usar para pequeños cambios de estilo o para una personalización sofisticada del diseño y el comportamiento específicos de una plataforma.They can be used for small styling changes or sophisticated platform-specific layout and behavior customization. En este artículo se proporciona una introducción a los representadores personalizados y se describe el proceso para crear un representador personalizado.This article provides an introduction to custom renderers, and outlines the process for creating a custom renderer.

Clases base y controles nativos del representadorRenderer base classes and native controls

Todos los controles de Xamarin.Forms tienen un representador que lo acompaña para cada plataforma y que crea una instancia de un control nativo.Every Xamarin.Forms control has an accompanying renderer for each platform that creates an instance of a native control. En este artículo se enumeran las clases de representador y control nativo que implementan cada página, diseño, vista y celda de Xamarin.Forms.This article lists the renderer and native control classes that implement each Xamarin.Forms page, layout, view, and cell.

Personalización de una entradaCustomizing an Entry

El control Entry de Xamarin.Forms permite que se edite una sola línea de texto.The Xamarin.Forms Entry control allows a single line of text to be edited. En este artículo se muestra cómo crear un representador personalizado para el control Entry, lo que permite que los desarrolladores reemplacen la representación nativa de forma predeterminada con su propia personalización específica de la plataforma.This article demonstrates how to create a custom renderer for the Entry control, enabling developers to override the default native rendering with their own platform-specific customization.

Personalización de una página de contenidoCustomizing a ContentPage

Un ContentPage es un elemento visual que muestra una vista única y ocupa la mayor parte de la pantalla.A ContentPage is a visual element that displays a single view and occupies most of the screen. En este artículo se muestra cómo crear un representador personalizado para la página ContentPage, lo que permite que los desarrolladores reemplacen la representación nativa de forma predeterminada con su propia personalización específica de la plataforma.This article demonstrates how to create a custom renderer for the ContentPage page, enabling developers to override the default native rendering with their own platform-specific customization.

Personalización de un mapaCustomizing a Map

Xamarin.Forms.Maps proporciona una abstracción multiplataforma para mostrar mapas que usan la API de mapa nativo en cada plataforma y proporcionar una experiencia de mapa rápida y familiar para los usuarios.Xamarin.Forms.Maps provides a cross-platform abstraction for displaying maps that use the native map APIs on each platform, to provide a fast and familiar map experience for users. En este tema se muestra cómo crear representadores personalizados para el control Map, lo que permite que los desarrolladores reemplacen la representación nativa de forma predeterminada por una personalización propia específica de la plataforma.This topic demonstrates how to create custom renderers for the Map control, enabling developers to override the default native rendering with their own platform-specific customization.

Personalización de la clase ListViewCustomizing a ListView

ListView de Xamarin.Forms es una vista que muestra una colección de datos como una lista vertical.A Xamarin.Forms ListView is a view that displays a collection of data as a vertical list. En este artículo se muestra cómo crear un representador personalizado que encapsula los controles de lista específica de la plataforma y los diseños de celda nativa, lo que permite tener más control sobre el rendimiento del control de lista nativa.This article demonstrates how to create a custom renderer that encapsulates platform-specific list controls and native cell layouts, allowing more control over native list control performance.

Personalización de la clase ViewCellCustomizing a ViewCell

ViewCell de Xamarin.Forms es una celda que se puede agregar a ListView o TableView, y que contiene una vista definida por el desarrollador.A Xamarin.Forms ViewCell is a cell that can be added to a ListView or TableView, which contains a developer-defined view. En este artículo se muestra cómo crear un representador personalizado para un ViewCell que se hospeda dentro de un control ListView de Xamarin.Forms.This article demonstrates how to create a custom renderer for a ViewCell that's hosted inside a Xamarin.Forms ListView control. Esto impide que se llame varias veces a los cálculos de diseño de Xamarin.Forms durante el desplazamiento de ListView.This stops the Xamarin.Forms layout calculations from being repeatedly called during ListView scrolling.

Implementación de una vistaImplementing a View

Los controles de interfaces de usuario personalizadas de Xamarin.Forms deben derivar de la clase View, que se usa para colocar los diseños y los controles en la pantalla.Xamarin.Forms custom user interfaces controls should derive from the View class, which is used to place layouts and controls on the screen. En este artículo se muestra cómo crear un representador personalizado para un control personalizado de Xamarin.Forms que se usa para mostrar una secuencia de vídeo de vista previa de la cámara del dispositivo.This article demonstrates how to create a custom renderer for a Xamarin.Forms custom control that's used to display a preview video stream from the device's camera.

Implementación de una clase HybridWebViewImplementing a HybridWebView

En este artículo se muestra cómo crear un representador personalizado para un control personalizado HybridWebView, que muestra cómo mejorar los controles específicos de la plataforma web para permitir que el código C# se invoque desde JavaScript.This article demonstrates how to create a custom renderer for a HybridWebView custom control, which demonstrates how to enhance the platform-specific web controls to allow C# code to be invoked from JavaScript.

Implementación de un reproductor de vídeoImplementing a video player

En este artículo se muestra cómo escribir los representadores para implementar un control personalizado VideoPlayer que puede reproducir vídeos de la web, vídeos insertados como recursos de la aplicación o vídeos almacenados en la biblioteca de vídeos en el dispositivo del usuario.This article shows how to write renderers to implement a custom VideoPlayer control that can play videos from the web, videos embedded as application resources, or videos stored in the video library on the user's device. Se muestran varias técnicas, incluida la implementación de métodos y propiedades enlazables de solo lectura.Several techniques are demonstrated, including implementing methods and read-only bindable properties.