2014-10-16 3 views
0

У меня есть datePicker в моем приложении WPF. Свойство text datepicker привязано к свойству Nullable DateTime в моей модели представления. UpdateSourceTrigger установлен в PropertyChanged.DatePicker WPF + ввод неполной даты

Проблема, с которой я столкнулся, - это когда я ввожу сегодняшнюю дату, например, 2/10, она возвращается к модели представления как «2/10/2014». Есть что-то, что я делаю неправильно.

Есть ли способ остановить частичную дату, которая будет отправлена ​​обратно в модель просмотра при изменении текста?

Кроме того, я не хочу менять дату NimeTime на текст.

благодаря Sandeep

+0

Не привязывайте свойство text, привязывайте свойство value. –

+0

Можете ли вы объяснить, почему вам нужна Частичная дата? Если вы действительно хотите свою Частичную дату, вы можете использовать метод DateValidationError, в котором вы получите текст Partial, который вы ввели, и вы можете установить значение на нужную дату, –

ответ

1

Если вы хотите, чтобы остановить обновление по тексту изменения вы должны попытаться установить «UpdateSourceTrigger = LostFocus», таким образом собирается источник будет обновляться только один раз DatePicker теряет фокус.

Кроме того, я не хочу менять свой текст с нулевым значением DateTime на текст.

В этом случае вы должны привязать свойство DatePicker.SelectedDate.

+0

Фактически, при вводе пользователем даты я включаю кнопку для поиска на основе значение, поэтому я не могу выбрать, чтобы пользователь мог публиковать, поэтому propretychanged. – Sandepku

+0

В случае свойства SelectedDate свойство PropertyChanged запускается только при выводе. – Sandepku

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