2012-02-22 16 views
8

No puedo obtener mi DataBinding para cortar los dígitos decimales del valor doble de mis controles deslizantes y agregar un signo%. Quiero que mi vista solo muestre "89%" incluso si el valor de los controles deslizantes es 89.1234. ¿Es posible usar stringFormat en WPF DataBinding para realizar ese comportamiento?Cómo usar StringFormat para redondear un doble valor vinculado

<Label Content="{Binding ElementName=Slider, Path=Value}"/> 

Muchas gracias de antemano por cualquier ayuda.

Respuesta

17

No se puede utilizar el de Encuadernación StringFormat si también está usando un Label porque el Label tiene una propiedad llamada ContentStringFormat que anula la de StringFormat

Cualquiera de unión a usar ContentStringFormat la propiedad de la etiqueta

<Label Content="{Binding ElementName=Slider, Path=Value}" 
     ContentStringFormat="{}{0:N0}%" /> 

o cambiar a usando un TextBlock

<TextBlock Text="{Binding ElementName=Slider, Path=Value, StringFormat={}{0:N0}%}" /> 
+0

Nunca me gustaron las etiquetas ... –

+0

@ H.B. Yo tampoco ... Solo los uso cuando quiero capacidades de selección para un número limitado de artículos. Si quiero capacidades de selección para una gran cantidad de elementos de texto, usaré una clase personalizada que es un 'TextBlock' que cambia a' TextBox' sin bordes en 'MouseOver' en lugar de' Label', porque reduce el número de elementos que se dibujan en la pantalla, lo que mejora el rendimiento. – Rachel

Cuestiones relacionadas