Saltar al contenido

Cómo quitar el borde de un control de entrada con formularios de xamarin

Esta división fue probado por nuestros expertos para garantizar la exactitud de nuestra esta sección.

Hay algunas propiedades de los controles que no puede manipular a través de Xamarin.Forms, tendrá que implementar un efecto o un representador personalizado. Un efecto bien podría funcionar en su caso, pero dado que soy más hábil con los renderizadores personalizados, le mostraré cómo lograr lo que desea con un renderizador personalizado.

Tendrás que crear una clase derivada de EntryRenderer que anula OnElementChanged

public class CustomEntryRenderer : EntryRenderer

    protected override void OnElementChanged(ElementChangedEventArgs e)
    
        base.OnElementChanged(e);

        this.Control.LeftView = new UIView(new CGRect(0, 0, 8, this.Control.Frame.Height));
        this.Control.RightView = new UIView(new CGRect(0, 0, 8, this.Control.Frame.Height));
        this.Control.LeftViewMode = UITextFieldViewMode.Always;
        this.Control.RightViewMode = UITextFieldViewMode.Always;

        this.Control.BorderStyle = UITextBorderStyle.None;
        this.Element.HeightRequest = 30;
    

Primero, se agregan algunos rellenos al control (de lo contrario, se ve bastante feo) configurando el LeftView y el RightView del control nativo. De todos modos, la parte más interesante es la BorderStyle al configurar esta propiedad del control nativo, puede eliminar el borde del control.

Lo último que tendrá que hacer es decir Xamarin.Forms para usar ese renderizador. Usa lo siguiente attribute en el alcance global de su archivo (fuera de la declaración del espacio de nombres):

[assembly: ExportRenderer(typeof(Entry), typeof(CustomEntryRenderer))]

Si no desea que se aplique el estilo a todos entradas, tendrá que definir un CustomEntry clase que se deriva de Entry en su proyecto Xamarin.Forms cambie la línea presentada arriba a

[assembly: ExportRenderer(typeof(CustomEntry), typeof(CustomEntryRenderer))]

Tenga en cuenta: Esta es la implementación de iOS, pero básicamente es lo mismo para Android.

Si crees que te ha resultado de utilidad nuestro post, sería de mucha ayuda si lo compartieras con más juniors y nos ayudes a dar difusión a nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *