diff --git a/src/AtomUI.Controls/AtomUI.Controls.csproj b/src/AtomUI.Controls/AtomUI.Controls.csproj
index 5240932f9..367cc9d61 100644
--- a/src/AtomUI.Controls/AtomUI.Controls.csproj
+++ b/src/AtomUI.Controls/AtomUI.Controls.csproj
@@ -25,5 +25,4 @@
-
diff --git a/src/AtomUI.Controls/DatePicker/CalendarView/Calendar.cs b/src/AtomUI.Controls/DatePicker/CalendarView/Calendar.cs
index c478ffb37..c48b1431e 100644
--- a/src/AtomUI.Controls/DatePicker/CalendarView/Calendar.cs
+++ b/src/AtomUI.Controls/DatePicker/CalendarView/Calendar.cs
@@ -21,7 +21,7 @@ public class DateSelectedEventArgs : EventArgs
}
}
-[TemplatePart(DatePickerCalendarThemeConstants.CalendarItemPart, typeof(CalendarItem))]
+[TemplatePart(CalendarThemeConstants.CalendarItemPart, typeof(CalendarItem))]
internal class Calendar : TemplatedControl
{
internal const int RowsPerMonth = 7;
@@ -1431,7 +1431,7 @@ internal class Calendar : TemplatedControl
protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
{
base.OnApplyTemplate(e);
- CalendarItem = e.NameScope.Find(DatePickerCalendarThemeConstants.CalendarItemPart);
+ CalendarItem = e.NameScope.Find(CalendarThemeConstants.CalendarItemPart);
if (SelectedDate is not null)
{
diff --git a/src/AtomUI.Controls/DatePicker/CalendarView/CalendarButton.cs b/src/AtomUI.Controls/DatePicker/CalendarView/CalendarButton.cs
index c8dabfd15..890a9e063 100644
--- a/src/AtomUI.Controls/DatePicker/CalendarView/CalendarButton.cs
+++ b/src/AtomUI.Controls/DatePicker/CalendarView/CalendarButton.cs
@@ -115,7 +115,7 @@ internal sealed class CalendarButton : AvaloniaButton
protected override void OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs e)
{
base.OnAttachedToLogicalTree(e);
- ConfigureTransitions();
+ SetupTransitions();
}
///
@@ -128,7 +128,7 @@ internal sealed class CalendarButton : AvaloniaButton
UpdatePseudoClasses();
}
- private void ConfigureTransitions()
+ private void SetupTransitions()
{
if (IsMotionEnabled)
{
@@ -229,7 +229,7 @@ internal sealed class CalendarButton : AvaloniaButton
{
if (change.Property == IsMotionEnabledProperty)
{
- ConfigureTransitions();
+ SetupTransitions();
}
}
}
diff --git a/src/AtomUI.Controls/DatePicker/CalendarView/CalendarDayButton.cs b/src/AtomUI.Controls/DatePicker/CalendarView/CalendarDayButton.cs
index 861f32b22..9c672d8c9 100644
--- a/src/AtomUI.Controls/DatePicker/CalendarView/CalendarDayButton.cs
+++ b/src/AtomUI.Controls/DatePicker/CalendarView/CalendarDayButton.cs
@@ -195,7 +195,7 @@ internal sealed class CalendarDayButton : AvaloniaButton,
UpdatePseudoClasses();
}
- private void ConfigureTransitions()
+ private void SetupTransitions()
{
if (IsMotionEnabled)
{
@@ -301,7 +301,7 @@ internal sealed class CalendarDayButton : AvaloniaButton,
{
base.OnAttachedToLogicalTree(e);
_resourceBindingsDisposable = new CompositeDisposable();
- ConfigureTransitions();
+ SetupTransitions();
}
protected override void OnDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs e)
@@ -325,7 +325,7 @@ internal sealed class CalendarDayButton : AvaloniaButton,
{
if (change.Property == IsMotionEnabledProperty)
{
- ConfigureTransitions();
+ SetupTransitions();
}
}
}
diff --git a/src/AtomUI.Controls/DatePicker/CalendarView/CalendarItem.cs b/src/AtomUI.Controls/DatePicker/CalendarView/CalendarItem.cs
index 133eaf4a4..9143b01ef 100644
--- a/src/AtomUI.Controls/DatePicker/CalendarView/CalendarItem.cs
+++ b/src/AtomUI.Controls/DatePicker/CalendarView/CalendarItem.cs
@@ -342,7 +342,7 @@ internal class CalendarItem : TemplatedControl,
protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
{
base.OnApplyTemplate(e);
- HeaderButton = e.NameScope.Get(CalendarItemThemeConstants.HeaderButtonPart);
+ HeaderButton = e.NameScope.Get(CalendarItemThemeConstants.HeaderButtonPart);
PreviousButton = e.NameScope.Get(CalendarItemThemeConstants.PreviousButtonPart);
PreviousMonthButton =
e.NameScope.Get(CalendarItemThemeConstants.PreviousMonthButtonPart);
diff --git a/src/AtomUI.Controls/DatePicker/CalendarView/DualMonthRangeCalendar.cs b/src/AtomUI.Controls/DatePicker/CalendarView/DualMonthRangeCalendar.cs
index 924847b6e..25974fa14 100644
--- a/src/AtomUI.Controls/DatePicker/CalendarView/DualMonthRangeCalendar.cs
+++ b/src/AtomUI.Controls/DatePicker/CalendarView/DualMonthRangeCalendar.cs
@@ -4,6 +4,8 @@ namespace AtomUI.Controls.CalendarView;
internal class DualMonthRangeCalendar : RangeCalendar
{
+ protected override Type StyleKeyOverride => typeof(DualMonthRangeCalendar);
+
internal override void ResetStates()
{
base.ResetStates();
diff --git a/src/AtomUI.Controls/DatePicker/CalendarView/RangeCalendar.cs b/src/AtomUI.Controls/DatePicker/CalendarView/RangeCalendar.cs
index adbd71133..157132905 100644
--- a/src/AtomUI.Controls/DatePicker/CalendarView/RangeCalendar.cs
+++ b/src/AtomUI.Controls/DatePicker/CalendarView/RangeCalendar.cs
@@ -20,6 +20,8 @@ public class RangeDateSelectedEventArgs : EventArgs
internal class RangeCalendar : Calendar
{
+ protected override Type StyleKeyOverride => typeof(RangeCalendar);
+
#region 公共属性定义
public static readonly StyledProperty SecondarySelectedDateProperty =
diff --git a/src/AtomUI.Controls/DatePicker/DatePicker.cs b/src/AtomUI.Controls/DatePicker/DatePicker.cs
index 41fb601df..6023e00dd 100644
--- a/src/AtomUI.Controls/DatePicker/DatePicker.cs
+++ b/src/AtomUI.Controls/DatePicker/DatePicker.cs
@@ -256,13 +256,13 @@ public class DatePicker : InfoPickerInput,
{
SelectedDateTime = DefaultDateTime;
}
+
+ Text = FormatDateTime(SelectedDateTime);
if (InfoIcon is null)
{
SetValue(InfoIconProperty, AntDesignIconPackage.CalendarOutlined(), BindingPriority.Template);
}
-
- Text = FormatDateTime(SelectedDateTime);
}
protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
diff --git a/src/AtomUI.Controls/DatePicker/DatePickerFlyoutPresenter.cs b/src/AtomUI.Controls/DatePicker/DatePickerFlyoutPresenter.cs
index 078cfffab..e2ab855b1 100644
--- a/src/AtomUI.Controls/DatePicker/DatePickerFlyoutPresenter.cs
+++ b/src/AtomUI.Controls/DatePicker/DatePickerFlyoutPresenter.cs
@@ -1,4 +1,5 @@
-using Avalonia.Controls;
+using AtomUI.Controls.Themes;
+using Avalonia.Controls;
using Avalonia.Controls.Primitives;
namespace AtomUI.Controls;
@@ -12,6 +13,6 @@ internal class DatePickerFlyoutPresenter : FlyoutPresenter
protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
{
base.OnApplyTemplate(e);
- DatePickerPresenter = e.NameScope.Get(DatePickerFlyoutPresenterTheme.DatePickerPresenterPart);
+ DatePickerPresenter = e.NameScope.Get(DatePickerFlyoutPresenterThemeConstants.DatePickerPresenterPart);
}
}
\ No newline at end of file
diff --git a/src/AtomUI.Controls/DatePicker/DatePickerFlyoutPresenterTheme.cs b/src/AtomUI.Controls/DatePicker/DatePickerFlyoutPresenterTheme.cs
deleted file mode 100644
index 1be46b494..000000000
--- a/src/AtomUI.Controls/DatePicker/DatePickerFlyoutPresenterTheme.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using AtomUI.Theme.Styling;
-using Avalonia.Controls;
-using Avalonia.Controls.Templates;
-
-namespace AtomUI.Controls;
-
-[ControlThemeProvider]
-internal class DatePickerFlyoutPresenterTheme : ArrowDecoratedBoxTheme
-{
- public const string DatePickerPresenterPart = "PART_DatePickerPresenter";
-
- public DatePickerFlyoutPresenterTheme()
- : this(typeof(DatePickerFlyoutPresenter))
- {
- }
-
- protected DatePickerFlyoutPresenterTheme(Type targetType) : base(targetType)
- {
- }
-
- protected override Control BuildContent(INameScope scope)
- {
- var datePickerPresenter = new DatePickerPresenter()
- {
- Name = DatePickerPresenterPart,
- };
- datePickerPresenter.RegisterInNameScope(scope);
- return datePickerPresenter;
- }
-}
\ No newline at end of file
diff --git a/src/AtomUI.Controls/DatePicker/DatePickerPresenter.cs b/src/AtomUI.Controls/DatePicker/DatePickerPresenter.cs
index f1a07c9e2..f3a4924a5 100644
--- a/src/AtomUI.Controls/DatePicker/DatePickerPresenter.cs
+++ b/src/AtomUI.Controls/DatePicker/DatePickerPresenter.cs
@@ -1,5 +1,6 @@
using System.Reactive.Disposables;
using AtomUI.Controls.CalendarView;
+using AtomUI.Controls.Themes;
using AtomUI.Theme;
using AtomUI.Theme.Data;
using AtomUI.Theme.Styling;
@@ -194,11 +195,11 @@ internal class DatePickerPresenter : PickerPresenterBase,
protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
{
base.OnApplyTemplate(e);
- _nowButton = e.NameScope.Get