From 608695c44b4851e1649d22fbfdeed2985342aa57 Mon Sep 17 00:00:00 2001 From: Dong Bin Date: Tue, 18 Feb 2025 22:08:30 +0800 Subject: [PATCH] feat: fix DateTimePicker text modification issue. --- src/Ursa/Controls/DateTimePicker/DateTimePicker.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Ursa/Controls/DateTimePicker/DateTimePicker.cs b/src/Ursa/Controls/DateTimePicker/DateTimePicker.cs index 6bb9236..22793ac 100644 --- a/src/Ursa/Controls/DateTimePicker/DateTimePicker.cs +++ b/src/Ursa/Controls/DateTimePicker/DateTimePicker.cs @@ -76,6 +76,7 @@ public class DateTimePicker : DatePickerBase private void OnSelectionChanged(AvaloniaPropertyChangedEventArgs 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)