feat: fix ampm auto derivation.

This commit is contained in:
rabbitism
2024-04-27 15:08:57 +08:00
parent af3b343550
commit 0e00158baf
3 changed files with 10 additions and 4 deletions

View File

@@ -260,6 +260,9 @@
</Style>
<!-- Focused State -->
<Style Selector="^:focus /template/ Border#Background">
<Setter Property="BorderBrush" Value="{DynamicResource CalendarDatePickerFocusBorderBrush}" />
</Style>
<Style Selector="^:focus-within /template/ Border#Background">
<Setter Property="BorderBrush" Value="{DynamicResource CalendarDatePickerFocusBorderBrush}" />
</Style>

View File

@@ -118,6 +118,7 @@ public class TimePicker : TemplatedControl, IClearControl, IInnerContentControl,
public void Clear()
{
Focus(NavigationMethod.Pointer);
_presenter?.SetValue(TimePickerPresenter.TimeProperty, null);
}
@@ -170,6 +171,7 @@ public class TimePicker : TemplatedControl, IClearControl, IInnerContentControl,
private void OnButtonClick(object? sender, RoutedEventArgs e)
{
Focus(NavigationMethod.Pointer);
SetCurrentValue(IsDropdownOpenProperty, !IsDropdownOpen);
}
@@ -244,6 +246,7 @@ public class TimePicker : TemplatedControl, IClearControl, IInnerContentControl,
{
_presenter?.Confirm();
SetCurrentValue(IsDropdownOpenProperty, false);
TopLevel.GetTopLevel(this);
Focus();
}

View File

@@ -148,8 +148,8 @@ public class TimePickerPresenter : TemplatedControl
_hourSelector?.SetValue(DateTimePickerPanel.ItemFormatProperty, part.ToLower());
if (_hourSelector is not null)
{
_hourSelector.MaximumValue = _use12Clock ? 12 : 23;
_hourSelector.MinimumValue = _use12Clock ? 1 : 0;
_hourSelector.MaximumValue = _use12Clock ? 11 : 23;
_hourSelector.MinimumValue = 0;
}
}
else if (part[0] == 'm' && !panels.Contains(_minuteSelector))
@@ -245,7 +245,7 @@ public class TimePickerPresenter : TemplatedControl
if (_hourSelector is not null)
{
var index = _use12Clock ? time.Value.Hours % 12 : time.Value.Hours;
if (index == 0) index = 12;
if (_use12Clock && index == 12) index = 0;
_hourSelector.SelectedValue = index;
}
@@ -269,7 +269,7 @@ public class TimePickerPresenter : TemplatedControl
{
_hourSelector.ItemFormat = "hh";
_hourSelector.MaximumValue = _use12Clock ? 12 : 23;
_hourSelector.MinimumValue = _use12Clock ? 1 : 0;
_hourSelector.MinimumValue = 0;
}
if (_minuteSelector is not null)