From 35128295b3a6367c57193c128f215ffa3f5962cd Mon Sep 17 00:00:00 2001 From: rabbitism Date: Wed, 27 Mar 2024 16:04:57 +0800 Subject: [PATCH] feat: add inner left/right support. add max box height. --- demo/Ursa.Demo/Pages/MultiComboBoxDemo.axaml | 32 +++++---- .../ViewModels/MultiComboBoxDemoViewModel.cs | 21 ++++++ .../Controls/MultiComboBox.axaml | 72 +++++++++++++------ src/Ursa/Controls/ComboBox/MultiComboBox.cs | 41 ++++++++++- 4 files changed, 129 insertions(+), 37 deletions(-) diff --git a/demo/Ursa.Demo/Pages/MultiComboBoxDemo.axaml b/demo/Ursa.Demo/Pages/MultiComboBoxDemo.axaml index cd1844c..5b604af 100644 --- a/demo/Ursa.Demo/Pages/MultiComboBoxDemo.axaml +++ b/demo/Ursa.Demo/Pages/MultiComboBoxDemo.axaml @@ -1,15 +1,23 @@ - + - - + + diff --git a/demo/Ursa.Demo/ViewModels/MultiComboBoxDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/MultiComboBoxDemoViewModel.cs index 239dc58..277332d 100644 --- a/demo/Ursa.Demo/ViewModels/MultiComboBoxDemoViewModel.cs +++ b/demo/Ursa.Demo/ViewModels/MultiComboBoxDemoViewModel.cs @@ -25,6 +25,27 @@ public class MultiComboBoxDemoViewModel: ObservableObject "Kansas", "Kentucky", "Louisiana", + "Maine", + "Maryland", + "Massachusetts", + "Michigan", + "Minnesota", + "Mississippi", + "Missouri", + "Montana", + "Nebraska", + "Nevada", + "New Hampshire", + "New Jersey", + "New Mexico", + "New York", + "North Carolina", + "North Dakota", + "Ohio", + "Oklahoma", + "Oregon", + "Pennsylvania", + "Rhode Island", }; } } \ No newline at end of file diff --git a/src/Ursa.Themes.Semi/Controls/MultiComboBox.axaml b/src/Ursa.Themes.Semi/Controls/MultiComboBox.axaml index 45108f9..39e3338 100644 --- a/src/Ursa.Themes.Semi/Controls/MultiComboBox.axaml +++ b/src/Ursa.Themes.Semi/Controls/MultiComboBox.axaml @@ -5,13 +5,14 @@ - + + @@ -26,33 +27,57 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}"> - + - - - - - - - + Content="{TemplateBinding InnerLeftContent}" + Foreground="{DynamicResource TextBoxInnerForeground}" + IsVisible="{TemplateBinding InnerLeftContent, + Converter={x:Static ObjectConverters.IsNotNull}}" /> + + + + + + + + +