в проекте Xamarin.Forms, который я разрабатываю, я создал NullableDatePicker, который работает с DateTime?значение.До XF 3.3 DatePicker мог устанавливать DateTime?свойство ViewModel для нуля.Это больше не работает с XF 3.5 Теперь, когда мой platformrenderer устанавливает для BindableProperty элемента управления XF значение null, свойство bound для модели представления не обновляется.Изменение значения на DateTime работает.
Поскольку поиск изменений между XF 3.3 и текущим XF 3.5 не принес каких-либо серьезных изменений для привязки к свету, я надеюсь, что кто-то здесь, на stackoverflow, может помочь.Я уже много раз искал возможную причину своей проблемы.
public class ViewModel {
private DateTime? _date;
public DateTime? Date{
get => _date;
set => SetProperty(ref _date, value);
}
}
NullableDatePicker : DatePicker {
public static readonly BindableProperty NullableDateProperty = BindableProperty.Create(nameof(NullableDate), typeof(DateTime?), typeof(NullableDatePicker), null, BindingMode.TwoWay);
public class DateTime? NullableDate
{
get { return (DateTime?)GetValue(NullableDateProperty); }
set { SetValue(NullableDateProperty, value); }
}
}
public class NullableDatePickerRenderer : DatePickerRenderer
{
...
public void OnClearDateTimeSelection(){
((IElementController) Element).SetValueFromRenderer(NullableDatePicker.NullableDateProperty, null);
...
}
}