Changing The String Format Of The WPF DatePicker
Answer :
I have solved this problem with a help of this code. Hope it will help you all as well.
<Style TargetType="{x:Type DatePickerTextBox}"> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate> <TextBox x:Name="PART_TextBox" Text="{Binding Path=SelectedDate, StringFormat='dd MMM yyyy', RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" /> </ControlTemplate> </Setter.Value> </Setter> </Style>
It appears, as per Wonko's answer, that you cannot specify the Date format in Xaml format or by inheriting from the DatePicker.
I have put the following code into my View's constructor which overrides the ShortDateFormat for the current thread:
CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name); ci.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy"; Thread.CurrentThread.CurrentCulture = ci;
The WPF Toolkit DateTimePicker
now has a Format
property and a FormatString
property. If you specify Custom
as the format type, you can provide your own format string.
<wpftk:DateTimePicker Value="{Binding Path=StartTime, Mode=TwoWay}" Format="Custom" FormatString="MM/dd/yyyy hh:mmtt"/>
Comments
Post a Comment