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

Popular posts from this blog

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Can Feynman Diagrams Be Used To Represent Any Perturbation Theory?