From b7edc5550befee57b9ae45cb6ccace9127df9ebb Mon Sep 17 00:00:00 2001 From: rabbitism Date: Wed, 28 Jun 2023 03:49:32 +0800 Subject: [PATCH] feat: add button group. --- demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml | 19 +++ demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml.cs | 15 +++ .../ViewModels/ButtonGroupViewModel.cs | 11 ++ demo/Ursa.Demo/Views/MainWindow.axaml | 3 + .../Controls/ButtonGroup.axaml | 72 +++++++++++ src/Ursa.Themes.Semi/Controls/_index.axaml | 1 + src/Ursa.Themes.Semi/Index.axaml | 2 + src/Ursa.Themes.Semi/Styles/ButtonGroup.axaml | 122 ++++++++++++++++++ src/Ursa.Themes.Semi/Styles/_index.axaml | 9 ++ .../Themes/Light/ButtonGroup.axaml | 86 ++++++++++++ .../Themes/Light/_index.axaml | 1 + src/Ursa/Controls/ButtonGroup.cs | 23 ++++ 12 files changed, 364 insertions(+) create mode 100644 demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml create mode 100644 demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml.cs create mode 100644 demo/Ursa.Demo/ViewModels/ButtonGroupViewModel.cs create mode 100644 src/Ursa.Themes.Semi/Controls/ButtonGroup.axaml create mode 100644 src/Ursa.Themes.Semi/Styles/ButtonGroup.axaml create mode 100644 src/Ursa.Themes.Semi/Styles/_index.axaml create mode 100644 src/Ursa.Themes.Semi/Themes/Light/ButtonGroup.axaml create mode 100644 src/Ursa/Controls/ButtonGroup.cs diff --git a/demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml b/demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml new file mode 100644 index 0000000..17a0621 --- /dev/null +++ b/demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml.cs b/demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml.cs new file mode 100644 index 0000000..695bcd1 --- /dev/null +++ b/demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml.cs @@ -0,0 +1,15 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using Ursa.Demo.ViewModels; + +namespace Ursa.Demo.Pages; + +public partial class ButtonGroupDemo : UserControl +{ + public ButtonGroupDemo() + { + InitializeComponent(); + this.DataContext = new ButtonGroupViewModel(); + } +} \ No newline at end of file diff --git a/demo/Ursa.Demo/ViewModels/ButtonGroupViewModel.cs b/demo/Ursa.Demo/ViewModels/ButtonGroupViewModel.cs new file mode 100644 index 0000000..aeb2400 --- /dev/null +++ b/demo/Ursa.Demo/ViewModels/ButtonGroupViewModel.cs @@ -0,0 +1,11 @@ +using System.Collections.ObjectModel; + +namespace Ursa.Demo.ViewModels; + +public class ButtonGroupViewModel: ViewModelBase +{ + public ObservableCollection Items { get; set; } = new ObservableCollection() + { + "Ding", "Otter", "Husky", "Mr. 17", "Cass" + }; +} \ No newline at end of file diff --git a/demo/Ursa.Demo/Views/MainWindow.axaml b/demo/Ursa.Demo/Views/MainWindow.axaml index ee33626..d6da845 100644 --- a/demo/Ursa.Demo/Views/MainWindow.axaml +++ b/demo/Ursa.Demo/Views/MainWindow.axaml @@ -29,6 +29,9 @@ + + + diff --git a/src/Ursa.Themes.Semi/Controls/ButtonGroup.axaml b/src/Ursa.Themes.Semi/Controls/ButtonGroup.axaml new file mode 100644 index 0000000..45c12f6 --- /dev/null +++ b/src/Ursa.Themes.Semi/Controls/ButtonGroup.axaml @@ -0,0 +1,72 @@ + + + + + +