diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CalendarDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CalendarDemo.axaml
new file mode 100644
index 00000000..2fd6ff05
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CalendarDemo.axaml
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CalendarDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CalendarDemo.axaml.cs
new file mode 100644
index 00000000..cee7e3e5
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CalendarDemo.axaml.cs
@@ -0,0 +1,9 @@
+namespace HandyControlDemo.UserControl;
+
+public partial class CalendarDemo : Avalonia.Controls.UserControl
+{
+ public CalendarDemo()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/src/Avalonia/HandyControl_Avalonia/Controls/Attach/TitleElement.cs b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/TitleElement.cs
new file mode 100644
index 00000000..50c9ed51
--- /dev/null
+++ b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/TitleElement.cs
@@ -0,0 +1,23 @@
+using Avalonia;
+using Avalonia.Media;
+
+namespace HandyControl.Controls;
+
+public class TitleElement
+{
+ public static readonly AttachedProperty BackgroundProperty =
+ AvaloniaProperty.RegisterAttached("Background", inherits: true);
+
+ public static void SetBackground(AvaloniaObject element, IBrush? value) =>
+ element.SetValue(BackgroundProperty, value);
+
+ public static IBrush? GetBackground(AvaloniaObject element) => element.GetValue(BackgroundProperty);
+
+ public static readonly AttachedProperty ForegroundProperty =
+ AvaloniaProperty.RegisterAttached("Foreground", inherits: true);
+
+ public static void SetForeground(AvaloniaObject element, IBrush? value) =>
+ element.SetValue(ForegroundProperty, value);
+
+ public static IBrush? GetForeground(AvaloniaObject element) => element.GetValue(ForegroundProperty);
+}
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Calendar.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Calendar.axaml
new file mode 100644
index 00000000..01bc566a
--- /dev/null
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Calendar.axaml
@@ -0,0 +1,249 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml
index 9af82cab..48f91229 100644
--- a/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml
@@ -35,6 +35,7 @@
+