none
StringFormat en cuadro de texto RRS feed

  • Pregunta

  • Buenas tardes,

    Tengo un problemilla que no consigo resolver y estoy empezando a pensar que puede ser un bug; el caso es que estoy intentando dar formato de moneda a un cuadro de texto, pero no aparece lo que yo quiero, el codigo que estoy utilizando es el siguiente.

    En este cuadro no se puede poner el foco ya que es automatico por lo que no me preocupa que el usuario quiera cambiar datos porque no va a poder situarse en el, el caso es que no aparece el formato que quiero, en cambio si en vez de este codigo de texto, esto mismo lo intento en un datagrid si que funciona, ¿ Alguna idea ?

      <TextBox x:Name="Venta_Total_T" Text="{Binding Value, StringFormat='{}{0:c}'}" />

    miércoles, 22 de octubre de 2014 15:42

Respuestas

  • pero que es eso? no parece WPF

    no estabas usando

      <TextBox x:Name="Venta_Total_T" Text="{Binding Value, StringFormat='{}{0:c}'}" />

    de donde sale eso del

    Binding binding = new Binding("Value");

    se supone que debes asignar un DataContext al contenedor del textbox para poder aplciar el binding

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Veleras jueves, 23 de octubre de 2014 12:18
    jueves, 23 de octubre de 2014 11:53

Todas las respuestas

  • hola

    de que tipo es la propiedad "Value" que usas en el binding ? para que aplique formato deberias ser numerica

    si value es string no va aplicar el formato

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 22 de octubre de 2014 15:46
  • Al cuadro de texto le asigno el valor de la siguiente forma

    decimal sumaTotal = 0;
    Binding binding = new Binding("Value");
    binding.Source = sumaTotal;
    Venta_Total_T.SetBinding(TextBox.TextProperty, binding);

    Igual en esta parte estoy haciendo algo incorrecto

    jueves, 23 de octubre de 2014 8:29
  • pero que es eso? no parece WPF

    no estabas usando

      <TextBox x:Name="Venta_Total_T" Text="{Binding Value, StringFormat='{}{0:c}'}" />

    de donde sale eso del

    Binding binding = new Binding("Value");

    se supone que debes asignar un DataContext al contenedor del textbox para poder aplciar el binding

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Veleras jueves, 23 de octubre de 2014 12:18
    jueves, 23 de octubre de 2014 11:53
  •  Lo del Binding sale de un ejemplo de otra pagina en la que indicaban que esa era la forma para enlazar un textbox entre el Xalm y el correspondiente cs.; ya me parecia a mi muy raro pero era la solucion que me dieron en otro sitio que no nombrare ;-P

    Ahí radicaba el problema, he sustituido esas lineas por MiTextBox.DataContext = MiObjeto y ya funciona correctamente.

    Gracias

    jueves, 23 de octubre de 2014 12:18