es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Salto de línea en la etiqueta al vincular texto de una propiedad proveniente de MVVM – StringFormat.

Estoy usando Label.FormattedText en Label para las celdas de ListView para tener texto múltiple en un solo control. Quiero hacer un salto de línea y mostrar texto proveniente de una propiedad mvvm. Así es como quiero formatear el texto:

Text = "salto_de_línea + property_text + | "

Este es el código que estoy intentando, pero me da un error en XAML:

<label fontsize="Medium" text="{Binding name}">
    <label.formattedtext>
        <formattedstring>
            <span text="{Binding name}"></span>
            <span text="{Binding balance, StringFormat='
 = {0:N} | '}" fontsize="Micro"></span>
            <span text="Saldo insuficiente" textcolor="Red" fontsize="Micro"></span>
        </formattedstring>
    </label.formattedtext>
</label>

Muestra un error de sintaxis aquí StringFormat='
= {0:N} | '}
.

El resultado que estoy buscando es el siguiente:

Output

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para agregar un salto de línea y texto desde una propiedad MVVM a un Label utilizando FormattedText, puedes utilizar el siguiente código:

    <label fontsize="Medium">
        <label.formattedtext>
            <formattedstring>
                <span text="{Binding Name}"></span>
                <span text="{Binding Balance, StringFormat='
    {0:N} | '}" fontsize="Micro"></span>
                <span text="Saldo insuficiente" textcolor="Red" fontsize="Micro"></span>
            </formattedstring>
        </label.formattedtext>
    </label>
    

    En el Span para la propiedad Balance, utilizamos la propiedad StringFormat con un valor de {0:N} |, donde representa el código de salto de línea y {0:N} representa el valor de la propiedad Balance formateado con un punto decimal.

    Esto debería producir el resultado deseado con un salto de línea y el valor del saldo y el texto “Saldo insuficiente” en la misma línea separados por una barra vertical.

Comments are closed.