Browse Source

Use OnPropertyChanged overridable method

pull/7958/head
robloo 4 years ago
parent
commit
41246473bb
  1. 33
      src/Avalonia.Controls/Calendar/CalendarDatePicker.cs

33
src/Avalonia.Controls/Calendar/CalendarDatePicker.cs

@ -179,12 +179,6 @@ namespace Avalonia.Controls
static CalendarDatePicker()
{
FocusableProperty.OverrideDefaultValue<CalendarDatePicker>(true);
IsDropDownOpenProperty.Changed.AddClassHandler<CalendarDatePicker>((x,e) => x.OnIsDropDownOpenChanged(e));
SelectedDateProperty.Changed.AddClassHandler<CalendarDatePicker>((x,e) => x.OnSelectedDateChanged(e));
SelectedDateFormatProperty.Changed.AddClassHandler<CalendarDatePicker>((x,e) => x.OnSelectedDateFormatChanged(e));
CustomDateFormatStringProperty.Changed.AddClassHandler<CalendarDatePicker>((x,e) => x.OnCustomDateFormatStringChanged(e));
TextProperty.Changed.AddClassHandler<CalendarDatePicker>((x,e) => x.OnTextChanged(e));
}
/// <summary>
@ -290,6 +284,33 @@ namespace Avalonia.Controls
}
}
/// <inheritdoc/>
protected override void OnPropertyChanged<T>(AvaloniaPropertyChangedEventArgs<T> 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<T>(AvaloniaProperty<T> property, BindingValue<T> value)
{
if (property == SelectedDateProperty)

Loading…
Cancel
Save