2014-01-08 3 views
1

Я связывающую стандартный DatePicker к свойству в моем коде следующим образом:WPF DatePicker выбирает неправильную дату

XAML:

<DatePicker Text="{Binding Start, Mode=TwoWay}" Width="150" BorderBrush="LightGray" VerticalAlignment="Center" Margin="3"/> 

Код:

public DateTime Start 
{ 
    get { return _start; } 
    set 
    { 
     _start = value; 
     RaisePropertyChangedEvent("Start"); 
    } 
} 

В конструктор I инициализируйте значение DateTime.Now, которое сегодня 8 января. 2014 (что должно быть однозначным на разных языках). Однако я на датской машине, поэтому форматированное значение строки будет 8/1/2014 в отличие от стиля США 1/8/2014.

Первая проблема заключается в том, что сборщик даты показывает значение, отформатированное как американский стиль, и когда я открываю раскрывающийся список, это также говорит 1 августа.

Вторая проблема хуже, хотя. Когда я выбираю, например. 1 декабря из выпадающего, текст говорит 12/1/2014, что является правильным в стиле США, но фактическое время и время, выбранное (на имущество), 12 января, которое соответствует датскому стилю ...

Я предполагаю, что это из-за некоторой проблемы при преобразовании в/из локализованных строковых представлений DateTime, но почему выбор даты игнорирует локализацию? И как я могу это исправить?

ответ

1

D'oh ... Я был привязан к свойству Text, а не к свойству SelectedDate.

Смежные вопросы