diff --git a/EleCho.WpfSuite.FluentDesign/FluentDesignResources.xaml b/EleCho.WpfSuite.FluentDesign/FluentDesignResources.xaml index f1c7d84..97c410e 100644 --- a/EleCho.WpfSuite.FluentDesign/FluentDesignResources.xaml +++ b/EleCho.WpfSuite.FluentDesign/FluentDesignResources.xaml @@ -86,6 +86,9 @@ + + + diff --git a/EleCho.WpfSuite/Controls/ComboBox.cs b/EleCho.WpfSuite/Controls/ComboBox.cs index 2606670..65d516c 100644 --- a/EleCho.WpfSuite/Controls/ComboBox.cs +++ b/EleCho.WpfSuite/Controls/ComboBox.cs @@ -37,6 +37,26 @@ public CornerRadius CornerRadius set { SetValue(CornerRadiusProperty, value); } } + public Brush PopupBackground + { + get { return (Brush)GetValue(PopupBackgroundProperty); } + set { SetValue(PopupBackgroundProperty, value); } + } + + public Thickness PopupBorderThickness + { + get { return (Thickness)GetValue(PopupBorderThicknessProperty); } + set { SetValue(PopupBorderThicknessProperty, value); } + } + + public Brush PopupBorderBrush + { + get { return (Brush)GetValue(PopupBorderBrushProperty); } + set { SetValue(PopupBorderBrushProperty, value); } + } + + + /// /// CornerRadius of popup content /// @@ -382,9 +402,18 @@ protected override bool IsItemItsOwnContainerOverride(object item) public static readonly DependencyProperty CornerRadiusProperty = Border.CornerRadiusProperty.AddOwner(typeof(ComboBox)); + public static readonly DependencyProperty PopupBackgroundProperty = + DependencyProperty.Register(nameof(PopupBackground), typeof(Brush), typeof(ComboBox), new PropertyMetadata(SystemColors.WindowBrush)); + public static readonly DependencyProperty PopupCornerRadiusProperty = DependencyProperty.Register(nameof(PopupCornerRadius), typeof(CornerRadius), typeof(ComboBox), new PropertyMetadata(default(CornerRadius))); + public static readonly DependencyProperty PopupBorderThicknessProperty = + DependencyProperty.Register(nameof(PopupBorderThickness), typeof(Thickness), typeof(ComboBox), new PropertyMetadata(default(Thickness))); + + public static readonly DependencyProperty PopupBorderBrushProperty = + DependencyProperty.Register(nameof(PopupBorderBrush), typeof(Brush), typeof(ComboBox), new PropertyMetadata(null)); + #endregion } } diff --git a/EleCho.WpfSuite/Controls/ComboBoxResources.xaml b/EleCho.WpfSuite/Controls/ComboBoxResources.xaml index 77c535f..40aa650 100644 --- a/EleCho.WpfSuite/Controls/ComboBoxResources.xaml +++ b/EleCho.WpfSuite/Controls/ComboBoxResources.xaml @@ -314,10 +314,10 @@ MinWidth="{Binding ActualWidth, ElementName=templateRoot}" MaxHeight="{TemplateBinding MaxDropDownHeight}"> + Background="{TemplateBinding PopupBackground}" + BorderThickness="{TemplateBinding PopupBorderThickness}" + BorderBrush="{TemplateBinding PopupBorderBrush}" + CornerRadius="{TemplateBinding PopupCornerRadius}"> @@ -430,10 +430,10 @@ MinWidth="{Binding ActualWidth, ElementName=templateRoot}" MaxHeight="{TemplateBinding MaxDropDownHeight}"> + Background="{TemplateBinding PopupBackground}" + BorderThickness="{TemplateBinding PopupBorderThickness}" + BorderBrush="{TemplateBinding PopupBorderBrush}" + CornerRadius="{TemplateBinding PopupCornerRadius}"> @@ -540,6 +540,8 @@