none
formato de fecha en un textbox RRS feed

  • Pregunta

  • Alguien sabe cómo se puede  aplicar una máscara a un control TextBox por ejemplo de Fecha Corta “dd/mm/yyyy”  o de Hora “HH:MM”

    Gracias.

    jueves, 23 de julio de 2009 15:16

Todas las respuestas

  • Utilizando un converter, esto es implementar en una clase la interfaz IValueConverter que reciba un datetime y que regrese un string algo asi:

    public class MyCustomConverter : IValueConverter
    {
        public void Convert(....)
        {  
                 (DateTime) local = (DateTime)value;
                 return local.ToString("dd/mm/yyyy HH:MM", culture);
        }
    }

    la referencia del IValueConverter ahi tambien explica como agregarla a tu xaml para que tu textbox lo utilice.
    Ahora si lo que realmente quieres es el MaskedTextbox de Windows Forms entonces tendrías que utilizar el WindowsFormsHost ahí también explica como hacerlo en tu xaml
    Microsoft Certified Technology Specialist .NET 3.5 WPF Application Development
    Profesionista Microsoft VIP México
    Blog Técnico
    World Wide Finalist Imagine Cup 2007
    Microsoft Student Partner
    C#, WPF, WCF
    LinkedIn
    jueves, 23 de julio de 2009 18:04
  • Hola, tambien puedes utilizar este control http://marlongrech.wordpress.com/2007/10/28/masked-textbox/

    Es un MaskedTextbox con el código fuente y una demo

    Sino puedes hospedar el MaskedTextBox de WindowsForms como dice iRodfraga en la msdn tienes el ejemplo

    http://msdn.microsoft.com/es-es/library/ms751761.aspx
    Oscar Avarez Guerras - Arquitecto Software en I3B (I+D+I) Blog:http://geeks.ms/blogs/oalvarez Por favor marca como respuesta si te ha ayudado esta respuesta
    jueves, 23 de julio de 2009 21:13
  • Buenas chicos, he mirado esto que me comentais y si le intento añadir el control maskedtextbox a la barra de controles se me cierra el visual studio, he mirado de usar el maskedtextbox de telerik pero no le veo la manera de meterle el binding pues así me casca, he pegado un vistazo a los ejemplos de telerik pero no me aclaro

    telerik:RadMaskedTextBox Grid.Row="1" Height="24" Margin="324.16,64,318,0" Name="RadMaskedTextBox1" VerticalAlignment="Top" Width="86.84" MaskType="DateTime" Mask="dd/mm/yyyy" Value="{Binding Path=Fecha}" Grid.IsSharedSizeScope="False"/>

    en otro text box no tengo problema 

    TextBox
    Height="23" Text="{Binding Path=Fecha}" Name="tboxFecha" Margin="132,33,0,0" VerticalAlignment="Top" AcceptsReturn="False" AcceptsTab="False" HorizontalAlignment="Left" Width="116" Grid.Row="1" />

    Gracias

    miércoles, 29 de julio de 2009 21:30