2010-07-02 16 views
17

¿Cómo puedo formatear un valor decimal condicionalmente en una ventana de WPF?WPF vinculante StringFormat sintaxis

  1. valor debe ser redondeado a un número entero (Ex: 1234)
  2. Cuando el valor es 0,00, debería mostrar como un solo cero. (Por ejemplo:

Actualmente utilizo la marca de abajo para formatear el valor decimal, pero muestra 00 cuando el valor es 0.00. Por favor ayuda.

<TextBlock 
    Grid.Column="6" 
    Padding="2" 
    Text="{Binding Path=TotalAwardsExpended, StringFormat='{}{0:0,0}'}" /> 
+0

Lo puedes encontrar aquí. Esto te ayudará http://www.kunal-chowdhury.com/2011/05/formatting-text-in-silverlight-xaml.html – R76

Respuesta

50

El 0 adicional viene del 0 después de los dos puntos.

En su lugar, intente {}{0:#,0}.

Desde el MSDN docs on Custom Numeric String formats (énfasis añadido):

"0" | Marcador de posición cero | Reemplaza el cero con el dígito correspondiente si hay uno presente; de lo contrario, aparece cero en la cadena de resultados.

+1

Gracias, esto funciona – m00sila

+13

Cool. Siéntase libre de marcar esto como la respuesta para que otros puedan beneficiarse. Y entonces obtengo mis puntos. ;) – codekaizen

+1

¿Alguna idea de cómo puede rellenar los espacios para mantener los números en su lugar (es decir, para que no se muevan a medida que cambia el número)? Mi contenido está centrado, por lo que el cambio es molesto. Usar algo como {0: 00000.0} funciona, pero los primeros 0 son tontos. Intenté #### 0.0, pero eso no mantuvo el relleno. El OP no marcó esto como una respuesta, pero le di un +1. :) – Dave

Cuestiones relacionadas