From d1944b01c3f67d5d91241da01943679a7c6d40ae Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Sat, 13 Jun 2026 15:37:34 +0800 Subject: [PATCH] feat: Add CirclePanel control and demo. Introduce a new CirclePanel control that arranges visible children evenly around a circle. The control exposes Diameter, KeepVertical and OffsetAngle styled properties and implements MeasureOverride/ArrangeOverride to position and optionally rotate items on a circular path. Also add a demo UserControl (CirclePanelDemo.axaml and .axaml.cs) with a themed button template to showcase the panel. --- .../UserControl/Styles/CirclePanelDemo.axaml | 49 +++++++++ .../Styles/CirclePanelDemo.axaml.cs | 9 ++ .../Controls/Panel/CirclePanel.cs | 100 ++++++++++++++++++ 3 files changed, 158 insertions(+) create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CirclePanelDemo.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CirclePanelDemo.axaml.cs create mode 100644 src/Avalonia/HandyControl_Avalonia/Controls/Panel/CirclePanel.cs diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CirclePanelDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CirclePanelDemo.axaml new file mode 100644 index 00000000..f5a35558 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CirclePanelDemo.axaml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + +