From d192cdbf8ff96d44fe09d727acbeaba30c49ef9f Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Tue, 19 Aug 2025 23:35:04 +0800 Subject: [PATCH] feat: add avalonia basic NumericUpDown style. --- .../Data/DemoInfo.json | 5 +- .../Styles/NumericUpDownDemo.axaml | 23 +++ .../Styles/NumericUpDownDemo.axaml.cs | 9 ++ .../Themes/Styles/ButtonSpinner.axaml | 141 ++++++++++++++++++ .../Themes/Styles/NumericUpDown.axaml | 99 ++++++++++++ .../Themes/Styles/TextBox.axaml | 76 +++++----- .../HandyControl_Avalonia/Themes/Theme.axaml | 2 + .../HandyControl_Net_40/Themes/Theme.xaml | 20 +-- .../Styles/Base/NumericUpDownBaseStyle.xaml | 20 +-- .../HandyControl_Shared/Themes/Theme.xaml | 20 +-- 10 files changed, 344 insertions(+), 71 deletions(-) create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml.cs create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/ButtonSpinner.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/NumericUpDown.axaml diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json b/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json index 70825d32..38822a7d 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json +++ b/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json @@ -13,6 +13,7 @@ [ "ScrollViewer", "NativeScrollViewerDemo", "Brush.ScrollBox", "", "" ], [ "Slider", "SliderDemo", "Brush.Slider", "", "" ], [ "TextBlock", "TextBlockDemo", "Brush.TextBlock", "", "" ], + [ "NumericUpDown", "NumericUpDownDemo", "Brush.NumericListBox", "", "" ], [ "TextBox", "TextBoxDemo", "Brush.TextBox", "", "" ], [ "ComboBox", "NativeComboBoxDemo", "Brush.ComboBox", "", "" ], [ "Expander", "ExpanderDemo", "Brush.Expander", "", "" ], @@ -49,13 +50,9 @@ [ "ButtonGroup", "ButtonGroupDemo", "Brush.ButtonGroup", "", "Button" ], [ "ProgressButton", "ProgressButtonDemo", "Brush.ProgressBarStatusBar8", "", "Button" ], [ "Poptip", "PoptipDemo", "Brush.ToolTip", "", "DataDisplay" ], - [ "NumericUpDown", "NumericUpDownDemo", "Brush.NumericListBox", "", "DataEntry" ], - [ "TextBox", "TextBoxDemo", "Brush.TextBox", "", "DataEntry" ], - [ "ComboBox", "ComboBoxDemo", "Brush.ComboBox", "", "DataEntry" ], [ "CheckComboBox", "CheckComboBoxDemo", "Brush.CheckBoxList", "", "DataEntry" ], [ "AutoCompleteTextBox", "AutoCompleteTextBoxDemo", "Brush.AutoComplete", "1", "DataEntry" ], [ "PinBox", "PinBoxDemo", "Brush.Ellipsis", "", "DataEntry" ], - [ "DatePicker", "DatePickerDemo", "Brush.DateTimePicker", "", "DataEntry" ], [ "Clock", "ClockDemo", "Brush.Time", "", "DataEntry" ], [ "TimePicker", "TimePickerDemo", "Brush.TimePicker", "", "DataEntry" ], [ "CalendarWithClock", "CalendarWithClockDemo", "Brush.Calendar", "", "DataEntry" ], diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml new file mode 100644 index 00000000..3a5441e7 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml @@ -0,0 +1,23 @@ + + + + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml.cs new file mode 100644 index 00000000..67b54fcf --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml.cs @@ -0,0 +1,9 @@ +namespace HandyControlDemo.UserControl; + +public partial class NumericUpDownDemo : Avalonia.Controls.UserControl +{ + public NumericUpDownDemo() + { + InitializeComponent(); + } +} diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ButtonSpinner.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ButtonSpinner.axaml new file mode 100644 index 00000000..b1a9b1ca --- /dev/null +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ButtonSpinner.axaml @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/NumericUpDown.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/NumericUpDown.axaml new file mode 100644 index 00000000..ae4395a5 --- /dev/null +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/NumericUpDown.axaml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/TextBox.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/TextBox.axaml index b1dc22e5..10ce60d3 100644 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/TextBox.axaml +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/TextBox.axaml @@ -39,43 +39,45 @@ Value="True" /> - - - - - - - - - + + + + + + + + + + + diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml index ec1700e4..96d4ebfd 100644 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml @@ -39,6 +39,8 @@ + + diff --git a/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml b/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml index 8c6fc365..2ed58151 100644 --- a/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml +++ b/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml @@ -9491,8 +9491,8 @@ -