Проблема, с которой я столкнулся, заключалась в том, что ConvertBack
выдавал исключение, поэтому PropertyChanged
никогда не запускали.
Я также изменил элемент управления Дата для привязки к SelectedDate
вместо Text
, как Mark Heath предлагается.
Обновлен Xaml
<controls:DatePicker Height="20" Width="100" x:Name="DatePicker" SelectedDate="{Binding Path=DOB, Mode=TwoWay, Converter={StaticResource DateConverter}}"/>
Вот мой конвертер ...
public class DateConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
DateTime? result = null;
DateTime result2;
if (value != null)
{
if (!String.IsNullOrEmpty(value.ToString()))
{
if (DateTime.TryParse(value.ToString(), out result2))
{
return result2;
}
}
}
return result;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
DateTime? result = null;
DateTime result2;
if (value != null)
{
if (!String.IsNullOrEmpty(value.ToString()))
{
if (DateTime.TryParse(value.ToString(), out result2))
{
return result2;
}
}
}
return result;
}
}