feat: fix DateTimePicker text modification issue.

This commit is contained in:
Dong Bin
2025-02-18 22:08:30 +08:00
parent 53b65f4eb7
commit 608695c44b

View File

@@ -76,6 +76,7 @@ public class DateTimePicker : DatePickerBase
private void OnSelectionChanged(AvaloniaPropertyChangedEventArgs<DateTime?> args)
{
if (_fromText) return;
SyncSelectedDateToText(args.NewValue.Value);
}
@@ -181,6 +182,8 @@ public class DateTimePicker : DatePickerBase
SetCurrentValue(IsDropdownOpenProperty, true);
}
private bool _fromText = false;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private void OnTextChanged(object? sender, TextChangedEventArgs e)
{
@@ -189,6 +192,8 @@ public class DateTimePicker : DatePickerBase
private void SetSelectedDate(bool fromText = false)
{
var temp = _fromText;
_fromText = fromText;
if (string.IsNullOrEmpty(_textBox?.Text))
{
SetCurrentValue(SelectedDateProperty, null);
@@ -227,6 +232,7 @@ public class DateTimePicker : DatePickerBase
_timePickerPresenter?.SyncTime(null);
}
}
_fromText = temp;
}
private void OnTextBoxGetFocus(object? sender, GotFocusEventArgs e)