diff --git a/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs b/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs index 0126a0c075..0005e07536 100644 --- a/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs +++ b/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs @@ -202,7 +202,7 @@ namespace Avalonia.Controls } /// - protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) + protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) { // CustomDateFormatString if (change.Property == CustomDateFormatStringProperty) @@ -215,8 +215,8 @@ namespace Avalonia.Controls // IsDropDownOpen else if (change.Property == IsDropDownOpenProperty) { - var oldValue = change.OldValue.GetValueOrDefault(); - var value = change.NewValue.GetValueOrDefault(); + var oldValue = change.GetOldValue(); + var value = change.GetNewValue(); if (_popUp != null && _popUp.Child != null) { @@ -246,8 +246,8 @@ namespace Avalonia.Controls // SelectedDate else if (change.Property == SelectedDateProperty) { - var addedDate = change.NewValue.GetValueOrDefault() as DateTime?; - var removedDate = change.OldValue.GetValueOrDefault() as DateTime?; + var addedDate = change.GetNewValue(); + var removedDate = change.GetOldValue(); if (SelectedDate != null) { @@ -291,8 +291,8 @@ namespace Avalonia.Controls // Text else if (change.Property == TextProperty) { - var oldValue = change.OldValue.GetValueOrDefault() as string; - var value = change.NewValue.GetValueOrDefault() as string; + var oldValue = change.GetOldValue(); + var value = change.GetNewValue(); if (!_suspendTextChangeHandler) { @@ -332,12 +332,14 @@ namespace Avalonia.Controls } /// - protected override void UpdateDataValidation(AvaloniaProperty property, BindingValue value) + protected override void UpdateDataValidation(AvaloniaProperty property, BindingValueType state, Exception? error) { if (property == SelectedDateProperty) { DataValidationErrors.SetError(this, error); } + + base.UpdateDataValidation(property, state, error); } ///