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.
Introduce a new WaterfallPanel control for Avalonia and a demo UserControl showcasing its usage. The panel supports Groups, AutoGroup, DesiredLength (coerced to >= 0) and Orientation; AutoGroup computes columns/rows based on DesiredLength. Measure/Arrange logic distributes children into the shortest group (waterfall layout) and sizes items by dividing the primary axis by group count. Also add WaterfallPanelDemo.axaml and code-behind demonstrating horizontal/vertical examples with a NumericUpDown to adjust groups.
Upgrade project to .NET 10 and refresh copyright years.
- Change TargetFramework in src/Avalonia/Directory.Build.props from net9.0 to net10.0 to target .NET 10.
- Update copyright year range in LICENSE and src/Directory.Build.Props to 2018-2026.
- Add .DS_Store to .gitignore.
Add VSCode debug/tasks configs for running/building the demo across multiple .NET frameworks (.vscode/launch.json, .vscode/tasks.json). Update HandyControl_Net_GE45.csproj PreBuild target to run only for cross-targeting builds. Change access modifiers on multiple dependency properties and related CLR properties across shared controls (ColorPicker, ImageViewer, NumericUpDown, TimeBar, PopupWindow) to expose the DP fields publicly while making setters internal where appropriate to restrict external mutation. Also make SideMenuItem.Role setter public. These changes expose select properties for external use and adjust build/debug convenience for development.
Improved code formatting and consistency in DateTimePicker.cs and TimePicker.cs by splitting long lines and enhancing readability. Also fixed null handling and text synchronization for selected values in TimePicker.
Removed hardcoded GroupName and Content from PaginationButtonStyle and XAML templates. GroupName is now set programmatically with a unique value per control instance, and button content is set in code. Also fixed minor naming and parameter consistency in Pagination.cs.