From 41246473bb0fb22cf9d932a90248bc750c49ffb6 Mon Sep 17 00:00:00 2001 From: robloo Date: Sun, 10 Apr 2022 11:47:45 -0400 Subject: [PATCH] Use OnPropertyChanged overridable method --- .../Calendar/CalendarDatePicker.cs | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs b/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs index 55ecd6b50c..8551205b78 100644 --- a/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs +++ b/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs @@ -179,12 +179,6 @@ namespace Avalonia.Controls static CalendarDatePicker() { FocusableProperty.OverrideDefaultValue(true); - - IsDropDownOpenProperty.Changed.AddClassHandler((x,e) => x.OnIsDropDownOpenChanged(e)); - SelectedDateProperty.Changed.AddClassHandler((x,e) => x.OnSelectedDateChanged(e)); - SelectedDateFormatProperty.Changed.AddClassHandler((x,e) => x.OnSelectedDateFormatChanged(e)); - CustomDateFormatStringProperty.Changed.AddClassHandler((x,e) => x.OnCustomDateFormatStringChanged(e)); - TextProperty.Changed.AddClassHandler((x,e) => x.OnTextChanged(e)); } /// @@ -290,6 +284,33 @@ namespace Avalonia.Controls } } + /// + protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) + { + if (change.Property == CustomDateFormatStringProperty) + { + OnCustomDateFormatStringChanged(change); + } + else if (change.Property == IsDropDownOpenProperty) + { + OnIsDropDownOpenChanged(change); + } + else if (change.Property == SelectedDateProperty) + { + OnSelectedDateChanged(change); + } + else if (change.Property == SelectedDateFormatProperty) + { + OnSelectedDateFormatChanged(change); + } + else if (change.Property == TextProperty) + { + OnTextChanged(change); + } + + base.OnPropertyChanged(change); + } + protected override void UpdateDataValidation(AvaloniaProperty property, BindingValue value) { if (property == SelectedDateProperty)