Saltar al contenido

Mostrar el texto de la etiqueta en mayúsculas usando xaml en Xamarin.Forms

Te traemos la solución a esta inconveniente, al menos eso creemos. Si continuas con dudas déjanoslo saber en un comentario, que sin tardar

Solución:

Puedes usar Label.TextTransform con TextTransform.Uppercase.

XAML

C#

var label = new Label

    TextTransform = TextTransform.Uppercase
;

Como sabe, puede hacer esto desde el código subyacente como tal:

string data = "my data";
UILabel myLabel = new UILabel();
myLabel.Text = data.ToUpper();

Entonces, teniendo en cuenta que no desea hacerlo de esta manera, deberá derivar de UILabel y crear el suyo propio, luego simplemente agregue ToUpper() al final de get;set; valores de la propiedad Texto.

using CoreGraphics;
using System;
using UIKit;

namespace MyApp.Controls

    partial class Control_UpperLabel : UILabel
    
        public Control_UpperLabel IntPtr handle) : base(handle)
        
               //
        

        public Control_UpperLabel()
        
               //
        

        public override void Draw(CGRect rect)
        
            base.Draw(rect);
        

        public override string Text  get => base.Text.ToUpper(); set => base.Text = value.ToUpper();     
   

EDITAR: según los comentarios a continuación, aquí hay una solución alternativa para Xamarin.Forms

Esto utiliza un convertidor de valor como parte de una solución vinculante. También se modificó ligeramente para usar la sugerencia de Clint en los comentarios a continuación. Gracias.

public class StringCaseConverter : IValueConverter

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    
        switch ((parameter as string).ToUpper()[0]) 
         
        case 'U': 
            return ((string)value).ToUpper(); 
        case 'L': 
            return ((string)value).ToLower(); 
        default: 
            return ((string)value);
        ;
    

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    
        throw new NotSupportedException();
    

Se usaría en el XAML como tal:

Text="Binding Text, Converter=StaticResource caseConverter, ConverterParameter=u}"

Aquí puedes ver las reseñas y valoraciones de los usuarios

Si estás de acuerdo, puedes dejar un enunciado acerca de qué te ha impresionado de este escrito.

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



Utiliza Nuestro Buscador

Deja una respuesta

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