From 98b67b3fd535f9c640782798bcf55a4267f88426 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Wed, 5 Feb 2025 10:42:50 +0800 Subject: [PATCH] chore: add avalonia Calendar demo. --- .../UserControl/Styles/CalendarDemo.axaml | 7 + .../UserControl/Styles/CalendarDemo.axaml.cs | 9 + .../Controls/Attach/TitleElement.cs | 23 ++ .../Themes/Styles/Calendar.axaml | 249 ++++++++++++++++++ .../HandyControl_Avalonia/Themes/Theme.axaml | 1 + 5 files changed, 289 insertions(+) create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CalendarDemo.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CalendarDemo.axaml.cs create mode 100644 src/Avalonia/HandyControl_Avalonia/Controls/Attach/TitleElement.cs create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/Calendar.axaml 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +