WPF toolkit, изменить формат даты в DatePicker - PullRequest
2 голосов
/ 08 октября 2009

формат даты по умолчанию в DatePicker "гггг-мм-дд", но мне нужно "дд-мм-гггг". Это одно решение не работает для меня.

Ответы [ 3 ]

4 голосов
/ 02 февраля 2011

Это довольно старый вопрос (несколько неправильно помечен как «ответ»). Если вам нужно использовать определенный формат даты для элемента управления WPF DatePicker, но вы не хотите открывать для него исходный код (который фактически доступен для загрузки), вы всегда можете указать DateFormat всего вашего пользовательского интерфейса. или установите его для каждого элемента управления DatePicker.

В своем приложении я использовал следующее в событии Application_Startup:

Private Sub Application_Startup(ByVal sender As Object, ByVal e As System.Windows.StartupEventArgs) Handles MyBase.Startup

   ' other application initialization code here

   Dim culInfo As Globalization.CultureInfo = New System.Globalization.CultureInfo("en-us")
   Dim dtinfo As Globalization.DateTimeFormatInfo = New System.Globalization.DateTimeFormatInfo() With {
       .ShortDatePattern = "dd-MMM-yyyy",
       .ShortTimePattern = "hh:mm:ss tt",
       .TimeSeparator = ":",
       .MonthNames = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.MonthNames(),
       .AbbreviatedMonthNames = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.AbbreviatedMonthNames(),
       .DateSeparator = "-"}

 culInfo.DateTimeFormat = dtinfo
 System.Threading.Thread.CurrentThread.CurrentCulture = culInfo

Обратите внимание, что это установит формат для краткого формата даты повсюду в вашем приложении (что я и хотел, вместо того, чтобы проходить и применять культуру к каждому экземпляру средства выбора даты. выше на основе другого поста StackOverflow, я точно не помню, где это было (или я бы сказал автор), но в любом случае, надеюсь, это поможет!

Кирк

3 голосов
/ 18 октября 2012

Если вы хотите присвоить этот формат вашей дате, вы должны сделать что-то вроде этого:

DatePicker datetimepicker;
datetimepicker.SelectedDate.Value.ToString("yyyy-MM-dd");

datetimepicker.SelectedDate.Value - это DateTime Object, поэтому вы можете манипулировать, как хотите.

1 голос
/ 08 октября 2009

Дата отображается с использованием CultureInfo.CurrentCulture, то есть региональных настроек Windows, выбранных пользователем на панели управления, и, похоже, их нельзя изменить. Однако это не должно иметь большого значения, так как пользователь предпочитает настройку даты / времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...