Browse Source

Simplify getting changed property values

pull/7958/head
robloo 4 years ago
parent
commit
f1cd198379
  1. 21
      src/Avalonia.Controls/Calendar/CalendarDatePicker.cs

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

@ -215,19 +215,18 @@ namespace Avalonia.Controls
// IsDropDownOpen // IsDropDownOpen
else if (change.Property == IsDropDownOpenProperty) else if (change.Property == IsDropDownOpenProperty)
{ {
var oldValue = change.GetOldValue<bool>(); var (oldValue, newValue) = change.GetOldAndNewValue<bool>();
var value = change.GetNewValue<bool>();
if (_popUp != null && _popUp.Child != null) if (_popUp != null && _popUp.Child != null)
{ {
if (value != oldValue) if (newValue != oldValue)
{ {
if (_calendar!.DisplayMode != CalendarMode.Month) if (_calendar!.DisplayMode != CalendarMode.Month)
{ {
_calendar.DisplayMode = CalendarMode.Month; _calendar.DisplayMode = CalendarMode.Month;
} }
if (value) if (newValue)
{ {
OpenDropDown(); OpenDropDown();
} }
@ -246,8 +245,7 @@ namespace Avalonia.Controls
// SelectedDate // SelectedDate
else if (change.Property == SelectedDateProperty) else if (change.Property == SelectedDateProperty)
{ {
var addedDate = change.GetNewValue<DateTime?>(); var (removedDate, addedDate) = change.GetOldAndNewValue<DateTime?>();
var removedDate = change.GetOldValue<DateTime?>();
if (SelectedDate != null) if (SelectedDate != null)
{ {
@ -272,8 +270,11 @@ namespace Avalonia.Controls
{ {
DisplayDate = day; DisplayDate = day;
} }
if(_calendar != null) if(_calendar != null)
{
_calendar.CalendarDatePickerDisplayDateFlag = false; _calendar.CalendarDatePickerDisplayDateFlag = false;
}
} }
else else
{ {
@ -291,19 +292,19 @@ namespace Avalonia.Controls
// Text // Text
else if (change.Property == TextProperty) else if (change.Property == TextProperty)
{ {
var (oldValue, value) = change.GetOldAndNewValue<string>(); var (oldValue, newValue) = change.GetOldAndNewValue<string>();
if (!_suspendTextChangeHandler) if (!_suspendTextChangeHandler)
{ {
if (value != null) if (newValue != null)
{ {
if (_textBox != null) if (_textBox != null)
{ {
_textBox.Text = value; _textBox.Text = newValue;
} }
else else
{ {
_defaultText = value; _defaultText = newValue;
} }
if (!_settingSelectedDate) if (!_settingSelectedDate)

Loading…
Cancel
Save